Module: NonBlockingLock::ClassMethods
- Defined in:
- lib/non_blocking_lock/base.rb
Instance Method Summary collapse
-
#non_blocking_lock(*args, &block) ⇒ Object
name - lock name wait_time - default 1.second &block to execute if lock obtained return false if failed to get lock.
-
#non_blocking_lock!(*args, &block) ⇒ Object
name - lock name wait_time - default 1.second &block to execute if lock obtained raises exception if failed to get lock.
Instance Method Details
#non_blocking_lock(*args, &block) ⇒ Object
name - lock name wait_time - default 1.second &block to execute if lock obtained return false if failed to get lock
10 11 12 13 14 15 16 |
# File 'lib/non_blocking_lock/base.rb', line 10 def non_blocking_lock( *args, &block ) if connection.respond_to?( :non_blocking_lock ) connection.non_blocking_lock( *args, &block ) else raise ::LockFailed.new( "Not implemented." ) end end |
#non_blocking_lock!(*args, &block) ⇒ Object
name - lock name wait_time - default 1.second &block to execute if lock obtained raises exception if failed to get lock
22 23 24 25 26 |
# File 'lib/non_blocking_lock/base.rb', line 22 def non_blocking_lock!( *args, &block ) unless non_blocking_lock( *args, &block ) raise ::LockFailed.new( "Failed to obtain a lock." ) end end |