Using DynamoDB, it implements a simple semaphore that can be used to coordinate access to shared data from multiple concurrent hosts or processes.
require 'dynamodb-mutex'
DynamoDBMutex.with_lock :your_lock do
# Access to shared resource.
endIf no lock name (:your_lock above) is given, #with_lock uses
'default.lock'.
You can pass with_lock the following options:
:wait_for_other(default1): Seconds to to wait for another process to release the lock.:polling_interval(default0.1): Seconds between retrials to acquire lock. Should be at least "(:wait_for_other / 5) * (no_of_instances - 1)".:stale_after(default10): Seconds after which the lock is considered stale and will be automatically deleted; set to "falsey" (nilorfalse) to disable.