module Zlk::Lockable
Public Instance Methods
lock()
click to toggle source
# File lib/zlk/lockable.rb, line 29 def lock Zlk.create_lock(lock_key) end
lock_key()
click to toggle source
# File lib/zlk/lockable.rb, line 3 def lock_key suffix = if respond_to?(:id) id else respond_to?(:uuid) ? uuid : fail("Define #{self.class}#lock_key") end "#{self.class}-#{suffix}" end
lock_timeout()
click to toggle source
# File lib/zlk/lockable.rb, line 21 def lock_timeout 10 end
locked?()
click to toggle source
# File lib/zlk/lockable.rb, line 25 def locked? !lock.acquirable? end
run_exclusively() { || ... }
click to toggle source
# File lib/zlk/lockable.rb, line 13 def run_exclusively lock.run_exclusively { yield } end
run_with_timeout!() { || ... }
click to toggle source
# File lib/zlk/lockable.rb, line 17 def run_with_timeout! lock.with_timeout!(lock_timeout) { yield } end