lib/sdb_lock.rb in sdb_lock-0.0.1 vs lib/sdb_lock.rb in sdb_lock-0.0.2

- old
+ new

@@ -25,10 +25,13 @@ # Attribute name to be used to save locked time LOCK_TIME = 'lock_time' + # Max wait secs for #lock + MAX_WAIT_SECS = 2 + # Constructor # # @param [String] domain_name SimpleDB domain name # @param [Hash] options def initialize(domain_name, options = {}) @@ -67,10 +70,10 @@ def lock(resource_name) wait_secs = 0.5 while true lock = try_lock(resource_name) break if lock - sleep(wait_secs) + sleep([wait_secs, MAX_WAIT_SECS].min) wait_secs *= 2 end if block_given? begin