2012-08-07 16:01:34 -04:00
Sidekiq
2012-01-21 19:42:21 -05:00
==============
2012-01-16 18:17:42 -05:00
2015-02-18 19:32:12 -05:00
[![Gem Version ](https://badge.fury.io/rb/sidekiq.svg )](https://rubygems.org/gems/sidekiq)
[![Code Climate ](https://codeclimate.com/github/mperham/sidekiq.svg )](https://codeclimate.com/github/mperham/sidekiq)
[![Build Status ](https://travis-ci.org/mperham/sidekiq.svg )](https://travis-ci.org/mperham/sidekiq)
[![Gitter Chat ](https://badges.gitter.im/mperham/sidekiq.svg )](https://gitter.im/mperham/sidekiq)
2013-03-11 21:40:11 -04:00
2012-08-07 16:01:34 -04:00
2013-06-26 00:55:51 -04:00
Simple, efficient background processing for Ruby.
2012-01-21 19:42:21 -05:00
2013-06-26 00:55:51 -04:00
Sidekiq uses threads to handle many jobs at the same time in the
2012-08-31 00:02:49 -04:00
same process. It does not require Rails but will integrate tightly with
2013-09-22 17:24:23 -04:00
Rails 3/4 to make background processing dead simple.
2012-04-05 22:20:24 -04:00
2012-03-26 09:26:05 -04:00
Sidekiq is compatible with Resque. It uses the exact same
2012-02-05 10:55:18 -05:00
message format as Resque so it can integrate into an existing Resque processing farm.
2012-01-21 19:42:21 -05:00
You can have Sidekiq and Resque run side-by-side at the same time and
2013-06-26 00:55:51 -04:00
use the Resque client to enqueue jobs in Redis to be processed by Sidekiq.
2012-01-21 19:42:21 -05:00
2015-11-20 19:07:48 -05:00
Sidekiq is fast.
2015-11-20 19:03:35 -05:00
2015-11-20 19:04:52 -05:00
Version | Latency | Garbage created for 10,000 jobs | Time to process 100,000 jobs | Throughput
2015-11-20 19:03:35 -05:00
-----------------|------|---------|---------|------------------------
Sidekiq 4.0.0 | 10ms | 151 MB | 22 sec | **4500 jobs/sec**
Sidekiq 3.5.1 | 22ms | 1257 MB | 125 sec | 800 jobs/sec
Resque 1.25.2 | - | - | 420 sec | 240 jobs/sec
DelayedJob 4.1.1 | - | - | 465 sec | 215 jobs/sec
2012-01-21 19:42:21 -05:00
Requirements
-----------------
2015-11-20 19:03:35 -05:00
I test with the latest CRuby (2.2, 2.1 and 2.0) and JRuby versions (9k). Other versions/VMs
are untested but might work fine. CRuby 1.9 is not supported.
2013-09-22 17:24:23 -04:00
2015-11-20 19:03:35 -05:00
All Rails releases from 3.2 are officially supported.
2012-01-21 19:42:21 -05:00
2015-11-20 19:03:35 -05:00
Redis 2.8 or greater is required. 3.0.3+ is recommended for large
installations with thousands of worker threads.
2012-07-25 21:41:05 -04:00
2012-01-21 19:42:21 -05:00
Installation
-----------------
2012-06-26 20:52:06 -04:00
gem install sidekiq
2012-01-21 19:42:21 -05:00
2012-01-26 00:12:18 -05:00
Getting Started
2012-01-21 19:42:21 -05:00
-----------------
2015-08-25 12:04:09 -04:00
See the [Getting Started wiki page ](https://github.com/mperham/sidekiq/wiki/Getting-Started ) and follow the simple setup process.
2015-02-18 19:32:12 -05:00
You can watch [Railscast #366 ](http://railscasts.com/episodes/366-sidekiq ) to see Sidekiq in action. If you do everything right, you should see this:
2013-03-16 18:31:06 -04:00
![Web UI ](https://github.com/mperham/sidekiq/raw/master/examples/web-ui.png )
2012-01-21 19:42:21 -05:00
2013-04-09 18:25:15 -04:00
Want to Upgrade?
2013-04-08 11:33:37 -04:00
-------------------
2015-08-17 18:31:11 -04:00
I also sell Sidekiq Pro and Sidekiq Enterprise, extensions to Sidekiq which provide more
features, a commercial-friendly license and allow you to support high
2013-04-08 11:33:37 -04:00
quality open source development all at the same time. Please see the
2015-08-17 18:31:11 -04:00
[Sidekiq ](http://sidekiq.org/ ) homepage for more detail.
2013-04-08 11:33:37 -04:00
2012-01-21 19:42:21 -05:00
2012-01-24 21:07:18 -05:00
More Information
-----------------
2013-11-30 14:56:28 -05:00
Please see the [sidekiq wiki ](https://github.com/mperham/sidekiq/wiki ) for the official documentation.
2015-02-04 18:02:08 -05:00
[mperham/sidekiq on Gitter ](https://gitter.im/mperham/sidekiq ) is dedicated to this project,
2014-07-15 00:08:54 -04:00
but bug reports or feature requests suggestions should still go through [issues on Github ](https://github.com/mperham/sidekiq/issues ). Release announcements are made to the [@sidekiq ](https://twitter.com/sidekiq ) Twitter account.
2012-01-24 21:07:18 -05:00
2015-10-30 16:38:53 -04:00
You may also find useful a [Reddit area ](https://reddit.com/r/sidekiq ) dedicated to Sidekiq discussion and [a Sidekiq tag ](https://stackoverflow.com/questions/tagged/sidekiq ) on Stack Overflow.
2012-06-19 15:26:36 -04:00
2012-01-24 21:07:18 -05:00
2012-08-02 12:01:56 -04:00
Problems?
-----------------
**Please do not directly email any Sidekiq committers with questions or problems.** A community is best served when discussions are held in public.
2015-02-04 18:02:08 -05:00
If you have a problem, please review the [FAQ ](https://github.com/mperham/sidekiq/wiki/FAQ ) and [Troubleshooting ](https://github.com/mperham/sidekiq/wiki/Problems-and-Troubleshooting ) wiki pages. Searching the issues for your problem is also a good idea. If that doesn't help, feel free to email the Sidekiq mailing list, chat in Gitter, or open a new issue.
2015-10-30 16:41:18 -04:00
StackOverflow or Reddit is the preferred place to ask questions on usage. If you are encountering what you think is a bug, please open an issue.
2012-08-02 12:01:56 -04:00
2014-04-18 22:59:44 -04:00
Thanks
-----------------
Sidekiq stays fast by using the [JProfiler java profiler ](http://www.ej-technologies.com/products/jprofiler/overview.html ) to find and fix
2015-10-30 16:41:18 -04:00
performance problems on JRuby. Unfortunately MRI does not have good multithreaded profiling tools.
2014-04-18 22:59:44 -04:00
2012-01-24 22:44:57 -05:00
License
-----------------
2013-04-15 12:48:12 -04:00
Please see [LICENSE ](https://github.com/mperham/sidekiq/blob/master/LICENSE ) for licensing details.
2012-01-24 22:44:57 -05:00
2012-01-21 19:42:21 -05:00
Author
-----------------
2015-01-07 16:33:26 -05:00
Mike Perham, [@mperham ](https://twitter.com/mperham ) / [@sidekiq ](https://twitter.com/sidekiq ), [http://www.mikeperham.com ](http://www.mikeperham.com ) / [http://www.contribsys.com ](http://www.contribsys.com )