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