mirror of
https://github.com/mperham/sidekiq.git
synced 2022-11-09 13:52:34 -05:00
wordsmith readme
This commit is contained in:
parent
bceacec766
commit
4ada5e7e3d
1 changed files with 9 additions and 8 deletions
17
README.md
17
README.md
|
@ -3,26 +3,28 @@ Sidekiq
|
|||
|
||||
Simple, efficient message processing for Ruby.
|
||||
|
||||
Sidekiq uses threads to handle many messages at the same time in the
|
||||
same process. It integrates tightly with Rails 3 to make background
|
||||
message processing dead simple.
|
||||
|
||||
Sidekiq is compatible with Resque. It uses the exact same
|
||||
message format as Resque so it can integrate into an existing Resque processing farm.
|
||||
You can have Sidekiq and Resque run side-by-side at the same time and
|
||||
use the Resque client to enqueue messages in Redis to be processed by Sidekiq.
|
||||
|
||||
At the same time, Sidekiq uses multithreading so it much more memory efficient than Resque (which forks a new process for every job).
|
||||
You'll find that you might need 50 200MB resque processes to peg your CPU
|
||||
whereas one 300MB Sidekiq process will peg the same CPU and perform the
|
||||
same amount of work. Please see [my blog post on Resque's memory
|
||||
At the same time, Sidekiq uses multithreading so it much more memory efficient than
|
||||
Resque (which forks a new process for every job). You'll find that you might need
|
||||
50 200MB resque processes to peg your CPU whereas one 300MB Sidekiq process will peg
|
||||
the same CPU and perform the same amount of work. Please see [my blog post on Resque's memory
|
||||
efficiency](http://blog.carbonfive.com/2011/09/16/improving-resques-memory-efficiency/)
|
||||
and how I was able to shrink a Carbon Five client's resque processing farm
|
||||
from 9 machines to 1 machine.
|
||||
|
||||
In sum, if your jobs are well-behaved and threadsafe, Sidekiq is probably a good replacement for Resque. If your jobs are not thread-safe or they leak memory, you may want to continue using Resque, because its forking model gives you more protection.
|
||||
|
||||
|
||||
Requirements
|
||||
-----------------
|
||||
|
||||
I test on Ruby 1.9.3 and JRuby 1.6.5 in 1.9 mode. Other versions/VMs are
|
||||
I test on Ruby 1.9.3 and JRuby 1.6.x in 1.9 mode. Other versions/VMs are
|
||||
untested but I will do my best to support them. Ruby 1.8 is not supported.
|
||||
|
||||
|
||||
|
@ -57,4 +59,3 @@ Author
|
|||
-----------------
|
||||
|
||||
Mike Perham, [@mperham](https://twitter.com/mperham), [http://mikeperham.com](http://mikeperham.com)
|
||||
|
||||
|
|
Loading…
Reference in a new issue