README.md in sidetiq-0.3.7 vs README.md in sidetiq-0.4.0.rc1

- old
+ new

@@ -30,13 +30,15 @@ Overview -------- Sidetiq provides a simple API for defining recurring workers for Sidekiq. +- Cuncurrency using Celluloid actors. + - Flexible DSL based on [ice_cube](http://seejohnrun.github.com/ice_cube/) -- Sidetiq uses a locking mechanism (based on `setnx` and `pexpire`) internally +- Sidetiq uses a locking mechanism (based on watch/multi/psetex/exec) internally so Sidetiq clocks can run in each Sidekiq process without interfering with each other (tested with sub-second polling of scheduled jobs by Sidekiq and Sidetiq clock rates above 100hz). Detailed API documentation is available on [rubydoc.info](http://rdoc.info/github/tobiassvn/sidetiq/). @@ -44,10 +46,11 @@ <a name='section_Dependencies'></a> Dependencies ------------ - [Sidekiq](http://mperham.github.com/sidekiq/) +- [Celluloid](http://celluloid.io/) (shared with Sidekiq) - [ice_cube](http://seejohnrun.github.com/ice_cube/) <a name='section_Installation'></a> Installation ------------ @@ -134,22 +137,13 @@ # do stuff ... end end ``` -To start Sidetiq, simply call `Sidetiq::Clock.start!` in a server specific -configuration block: +If Sidekiq is running in server-mode, Sidekiq will handle recurring +jobs automatically. -```ruby -Sidekiq.configure_server do |config| - Sidetiq::Clock.start! -end -``` - -Additionally, Sidetiq includes a middleware that will check if the clock -thread is still alive and restart it if necessary. - <a name='section_Backfills''></a> Backfills --------- In certain cases it is desirable that missed jobs will be enqueued @@ -178,21 +172,20 @@ Configuration ------------- ```ruby Sidetiq.configure do |config| - # Thread priority of the clock thread (default: Thread.main.priority as - # defined when Sidetiq is loaded). - config.priority = 2 - # Clock tick resolution in seconds (default: 1). config.resolution = 0.5 # Clock locking key expiration in ms (default: 1000). config.lock_expire = 100 # When `true` uses UTC instead of local times (default: false) config.utc = false + + # Scheduling handler pool size (default: number of CPUs) + config.handler_pool_size = 5 end ``` <a name='section_Configuration_Logging'></a> ### Logging