# Background Job

**URL:** <https://www.ruby-forum.com/t/background-job/174606>\
**Category:** Rails\
**Created:** [August 29, 2009, 5:02pm UTC](https://www.ruby-forum.com/t/background-job/174606 "2009-08-29T17:02:10Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![fipa](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/f/9e8a1a/32.png) [@fipa](https://www.ruby-forum.com/u/fipa)\
**Post date:** [August 29, 2009, 5:02pm UTC](https://www.ruby-forum.com/t/background-job/174606/1 "2009-08-29T17:02:10Z")

</div>

Hi,

Is the plugin Background Job still a good solution for someone who wants  
an easy way to manage serial task processing?

---

<div class="post-metadata">

**Author:** ![fipa](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/f/9e8a1a/32.png) [@fipa](https://www.ruby-forum.com/u/fipa)\
**Post date:** [August 12, 2010, 2:31pm UTC](https://www.ruby-forum.com/t/background-job/174606/2 "2010-08-12T14:31:09Z")

</div>

Fernando P. wrote:

> Hi,
> 
> Is the plugin Background Job still a good solution for someone who wants  
> an easy way to manage serial task processing?

Up 🙂

What’s the current state of background jobs handlers?

---

<div class="post-metadata">

**Author:** ![fipa](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/f/9e8a1a/32.png) [@fipa](https://www.ruby-forum.com/u/fipa)\
**Post date:** [August 12, 2010, 2:59pm UTC](https://www.ruby-forum.com/t/background-job/174606/3 "2010-08-12T14:59:38Z")

</div>

Hi Fernendo,

On Sat, Aug 29, 2009 at 10:02 AM, Fernando P.  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Hi,
> 
> Is the plugin Background Job still a good solution for someone who wants  
> an easy way to manage serial task processing?

It’s working quite well for us. The persistent queue was the most  
important aspect for me.

HTH,  
Bill

---

<div class="post-metadata">

**Author:** ![fipa](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/f/9e8a1a/32.png) [@fipa](https://www.ruby-forum.com/u/fipa)\
**Post date:** [August 12, 2010, 3:15pm UTC](https://www.ruby-forum.com/t/background-job/174606/4 "2010-08-12T15:15:26Z")

</div>

On Thu, Aug 12, 2010 at 8:06 AM, Fernando P. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
wrote:

> > It’s working quite well for us. The persistent queue was the most  
> > important aspect for me.
> 
> Hi Bill, thanks for your feedback. Did you also consider delayed\_job?  
> It’s a tie between the two of them.

I did, though I cannot remember at the moment exactly what caused me  
to pick Bj. I think it may have been the Engine Y. recommendation.  
Then there’s the fact that Ara wrote it and he’s well regarded in the  
Ruby community. Or maybe it was that I though a Bj sounded like more  
fun than a delayed\_job 😉

Best regards,  
Bill

---

<div class="post-metadata">

**Author:** ![fipa](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/f/9e8a1a/32.png) [@fipa](https://www.ruby-forum.com/u/fipa)\
**Post date:** [August 12, 2010, 3:06pm UTC](https://www.ruby-forum.com/t/background-job/174606/5 "2010-08-12T15:06:48Z")

</div>

> It’s working quite well for us. The persistent queue was the most  
> important aspect for me.

Hi Bill, thanks for your feedback. Did you also consider delayed\_job?  
It’s a tie between the two of them.

I just read that github was using Bj, then moved on to dj and now runs  
resque? I do understand that github size is different than mine so what  
works for them might totally fail for me.

---

<div class="post-metadata">

**Author:** ![fipa](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/f/9e8a1a/32.png) [@fipa](https://www.ruby-forum.com/u/fipa)\
**Post date:** [August 12, 2010, 4:18pm UTC](https://www.ruby-forum.com/t/background-job/174606/6 "2010-08-12T16:18:40Z")

</div>

On 12 Aug 2010, at 15:14, Bill W. wrote:

> fun than a delayed\_job 😉  
> Something you might also consider is Nanite, we’re using it in our  
> flagship product and it’s great. It has the persisent queue you are  
> looking for and is self healing also. It uses RabbitMQ as the  
> messaging system.

> **[GitHub - ezmobius/nanite: self assembling fabric of ruby daemons](https://github.com/ezmobius/nanite)**
>
> self assembling fabric of ruby daemons. Contribute to ezmobius/nanite development by creating an account on GitHub.

We use it for sending mails in the background (high volumes) across  
several applications running on the same server. Our agents (i.e.  
workers) are very small pure Ruby applications designed for one  
specific goal, in this case sending mails (with a few additional  
quirks such as automatically extracting images and attaching them and  
making all css styles inline, PDF generation and attaching etc).

We’ve used the other solutions you mentioned in the past, but they all  
had their drawbacks. Once we switched to Nanite, we never looked back.  
About 20 apps are using the same agents, the memory footprint is just  
so much smaller, the self healing cluster is great, we can add or  
remove agents as we see fit without any app restart.

In terms of implementing it, it’s a bit more of “getting your head  
around it” though.

Best regards

Peter De Berdt
