We can give a try for Sidekiq – Ruby background job processor.(it’s faster than resque in terms of processing)
Some of point about Sidekiq
- Sidekiq enables background processing via threads. it uses a pool of threads to process jobs so at most you have one master process.
- Sidekiq is Resque compatible so we can use with existing Resque code and then process them using new Sidekiq workers.
- Internally Sidekiq uses the Celluloid actor library to make threading easier and safer to manage.
- ref wiki : https://github.com/mperham/sidekiq/wiki
- does not require thread safety (works with pretty much any gem out there);
- has no interpreter preference (you can use any ruby);
- loads of plugins.
- runs a process per worker (uses more memory);
- does not retry jobs (out of the box, anyway).
- runs thread per worker (uses much less memory);
- less forking (works faster);
- more options out of the box.
- [huge] requires thread-safety of your code and all the dependencies. If you run thread-unsafe code with threads, you’re asking for trouble;
- much less plugins (at the moment there are only 2);
- works on some rubies better than others (jruby and rubinius are recommended).