Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>For my projects I will feel very comfortbale with <a href="https://github.com/collectiveidea/delayed_job" rel="noreferrer">collectiveidea/delayed_job</a> in rails2 and 3. I don't know beanstalkd, but i will try it soon :-). I have followed the suggestions in the resque documentation. I will report it.</p> <pre><code>Resque vs DelayedJob </code></pre> <p>How does Resque compare to DelayedJob, and why would you choose one over the other?</p> <ul> <li>Resque supports multiple queues</li> <li>DelayedJob supports finer grained priorities</li> <li>Resque workers are resilient to memory leaks / bloat</li> <li>DelayedJob workers are extremely simple and easy to modify</li> <li>Resque requires Redis</li> <li>DelayedJob requires ActiveRecord</li> <li>Resque can only place JSONable Ruby objects on a queue as arguments</li> <li>DelayedJob can place any Ruby object on its queue as arguments</li> <li>Resque includes a Sinatra app for monitoring what's going on</li> <li>DelayedJob can be queried from within your Rails app if you want to add an interface</li> </ul> <p>If you're doing Rails development, you already have a database and ActiveRecord. DelayedJob is super easy to setup and works great. GitHub used it for many months to process almost 200 million jobs.</p> <p>Choose Resque if:</p> <ul> <li>You need multiple queues</li> <li>You don't care / dislike numeric priorities</li> <li>You don't need to persist every Ruby object ever</li> <li>You have potentially huge queues</li> <li>You want to see what's going on</li> <li>You expect a lot of failure / chaos</li> <li>You can setup Redis</li> <li>You're not running short on RAM</li> </ul> <p>Choose DelayedJob if:</p> <ul> <li>You like numeric priorities</li> <li>You're not doing a gigantic amount of jobs each day</li> <li>Your queue stays small and nimble</li> <li>There is not a lot failure / chaos</li> <li>You want to easily throw anything on the queue</li> <li>You don't want to setup Redis</li> </ul> <p>Choose Beanstalkd if:</p> <ul> <li>You like numeric priorities</li> <li>You want extremely fast queue</li> <li>You don't want to waste you RAM</li> <li>You want to serve high number of jobs</li> <li>You're fine with JSONable Ruby objects on a queue as arguments</li> <li>You need multiple queues</li> </ul> <p>In no way is Resque a "better" DelayedJob, so make sure you pick the tool that's best for your app.</p> <p>A nice <a href="http://adam.heroku.com/past/2010/4/24/beanstalk_a_simple_and_fast_queueing_backend/" rel="noreferrer">comparison of queueing backend speed</a>:</p> <pre><code> enqueue work ------------------------------------------------- delayed job | 200 jobs/sec 120 jobs/sec resque | 3800 jobs/sec 300 jobs/sec rabbitmq | 2500 jobs/sec 1300 jobs/sec beanstalk | 9000 jobs/sec 5200 jobs/sec </code></pre> <p>Have a nice day!</p> <p>P.S. There is a RailsCast about <a href="http://railscasts.com/episodes/271-resque" rel="noreferrer">resque</a>, <a href="http://railscasts.com/episodes/171-delayed-job" rel="noreferrer">Delayed Job</a> (<a href="http://railscasts.com/episodes/171-delayed-job-revised" rel="noreferrer">revised version</a>) and <a href="http://railscasts.com/episodes/243-beanstalkd-and-stalker" rel="noreferrer">Beanstakld</a>. Have a look!</p> <p>P.P.S. My favourite choiche is now <a href="https://github.com/mperham/sidekiq/" rel="noreferrer">Sidekiq</a> ( very Simple, Fast and efficient for simple jobs ), have a look at <a href="https://github.com/mperham/sidekiq/wiki/FAQ" rel="noreferrer">this page</a> for comparison.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload