Background processing with WorkerQueue

Posted by Bart ten Brinke Wed, 13 Aug 2008 19:25:48 GMT

Yes, I know there are a lot of background runners available for rails (I tried most of them), and they all seemed to have their downsides:

  • BackgroundRB -> Major memory leaks when performing large tasks and bloaty.
  • Spawn -> I really do not want to fork on every request. I use merb for that.
  • Starling -> Memcache and only does sequential processing.
  • ActiveMessaging -> Round hole Square peg.

Also non of these can handle big file uploads nicely and reliable. That is when I decided to create my own: WorkerQueue.

Main features:

  • Simple
  • Fast
  • Works via a rake task and prefers cron
  • Can handle large amounts of data
  • Sequential and Parallel execution on demand
  • Simple error reporting
  • Offload tasks to other or multiple machines

You can clone a copy here:

  git clone git://github.com/barttenbrinke/worker_queue.git vendor/plugins/worker_queue

Or visit github.

UPDATE: WorkerQueue 1.0 Stable is now available on Github.

Posted in  | Tags , , ,  | 2 comments