Skip to content

Latest commit

 

History

History
42 lines (31 loc) · 1.34 KB

README.rst

File metadata and controls

42 lines (31 loc) · 1.34 KB

DynamoDB Mutex

Code Climate Dependency Status MIT License

Using DynamoDB, it implements a simple semaphore that can be used to coordinate access to shared data from multiple concurrent hosts or processes.

Usage

require 'dynamodb-mutex'

DynamoDBMutex.with_lock :your_lock do
   # Access to shared resource.
end

If no lock name (:your_lock above) is given, #with_lock uses 'default.lock'.

You can pass with_lock the following options:

  • :wait_for_other (default 1): Seconds to to wait for another process to release the lock.
  • :polling_interval (default 0.1): Seconds between retrials to acquire lock. Should be at least "(:wait_for_other / 5) * (no_of_instances - 1)".
  • :stale_after (default 10): Seconds after which the lock is considered stale and will be automatically deleted; set to "falsey" (nil or false) to disable.