On Thu, Dec 1, 2011 at 8:29 AM, Francesco Vollero <fvollero(a)redhat.com> wrote:
Well, if I may spend my two cents here, reinventing the wheel is just
unuseful at this stage and 75% of the time we gonna have more problems than benefits.
+1 (at least) on this point.
To have an base idea, worth to be readed carefully this link:
https://github.com/blog/542-introducing-resque since they make an analysis on the
solutions they
used before writing Resque.
Resque:
It's been created and currently used by Github for their background processes to
substitute Delayed job
Requirements:
- Redis server (already in fedora)
Video demo for Resque in Rails:
http://railscasts.com/episodes/271-resque
Redis is very cool; I worked with it a little bit on a previous
project. However, I'm not crazy about adding something like Redis just
for storing background tasks.
Delayed Job:
It's a quite "stable" solution, that is designed to have is natural role
in a Rails app.
Video demo for dejayed job in Rails:
http://railscasts.com/episodes/171-delayed-job
At a previous employer, we used Delayed::Job. The advantage is that it
uses your existing Rails database rather than requiring something like
Redis. (For what it's worth, we ran this in a workflow where we'd
sometimes end up creating thousands of jobs in the blink of an eye, so
I was initially concerned about the impact on our database as we
hammered the table hard. It turned out to be a non-issue even with
something like 50+ jobs being processed a second.)
Am I hallucinating, or did we use Delayed Job before in Conductor?
Beanstalkd:
Fast as hell (from my point of view) simple work queue, that ship with two different
gems: stalker and beanstalk rb
Video demo for Beanstalkd in Rails:
http://railscasts.com/episodes/243-beanstalkd-and-stalker
Requirements:
- beanstalkd server (already packaged in fedora)
Pitfalls:
- Stalker and beanstalk gems are not shipped with fedora, so we need to package for
ourself.
I haven't worked with (or even looked at) beanstalk before. However,
to your "pitfalls" section, it looks like _none_ of the gems mentioned
above are in Fedora -- the delayed_job and resque gems don't appear to
be packaged for Fedora yet, either.
-- Matt