Thinking about putting in DelayedJob or Sidekiq for your rails app? Here's a quick rundown of the pros and cons of each:
DelayedJob has been around the longest, created by the crew that built Shopify.com. It creates a table in your rails app and queues and works off of that. For me it provides the simplest option, as it carries no other dependencies other than your rails app.
- no dependencies
- well supported
- lives in your app, so constrained by app performance
- no great user admin interface
Sidekiq offers a great alternative as well. It too is very simple and well-maintained, but instead of using your database, it uses a redis server to manage the jobs. That makes development a bit trickier, as you have to install redis and remember to start it when running your app. Not hard, just a bit extra stuff.
- better performance possible
- separate from app, so not dependent on app performance
- great admin user interface
- more complex to develop (need redis)
- need a redis server to run app in production
Here's a quick guide comparing the two - DelayedJob vs. Sidekiq