0.0
No release in over 3 years
Low commit activity in last 3 years
dynamodb-mutex implements a simple mutex that can be used to coordinate access to shared data from multiple concurrent hosts
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 12.3
~> 2.0

Runtime

 Project Readme

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.