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.