README.md in sidekiq-throttled-0.10.0.beta vs README.md in sidekiq-throttled-0.10.0
- old
+ new
@@ -115,10 +115,29 @@
**NB** Don't forget to specify `:key_suffix` and make it return different values
if you are using dynamic limit/period options. Otherwise you risk getting into
some trouble.
+### Concurrency throttling fine-tuning
+
+Concurrency throttling is based on distributed locks. Those locks have default
+time to live (TTL) set to 15 minutes. If your job takes more than 15 minutes
+to finish, lock will be released and you might end up with more jobs running
+concurrently than you expect.
+
+This is done to avoid deadlocks - when by any reason (e.g. Sidekiq process was
+OOM-killed) cleanup middleware wasn't executed and locks were not released.
+
+If your job takes more than 15 minutes to complete, you can tune concurrency
+lock TTL to fit your needs:
+
+``` ruby
+# Set concurrency strategy lock TTL to 1 hour.
+sidekiq_throttle(:concurrency => { :limit => 20, :ttl => 1.hour.to_i })
+```
+
+
## Enhanced Queues list
This gem provides ability to pause/resume queues from processing by workers.
So you may simply pause particular queue without need to stop and reconfigure
workers by simply pushing a button on sidekiq web UI.
@@ -153,12 +172,12 @@
## Supported Ruby Versions
This library aims to support and is [tested against][travis] the following Ruby
versions:
-* Ruby 2.3.x
* Ruby 2.4.x
* Ruby 2.5.x
+* Ruby 2.6.x
If something doesn't work on one of these versions, it's a bug.
This library may inadvertently work (or seem to work) on other Ruby versions,
however support will only be provided for the versions listed above.