Module: AplLocker
- Extended by:
- ScLock
- Defined in:
- lib/apl-library/apl_locker.rb
Defined Under Namespace
Class Method Summary collapse
-
.locked_block(namespace, resource, params, wait_time = 1000.0, retry_count = 0, &block) ⇒ Object
hold lock only for the ‘block’ and delete from database once done.
Class Method Details
.locked_block(namespace, resource, params, wait_time = 1000.0, retry_count = 0, &block) ⇒ Object
hold lock only for the ‘block’ and delete from database once done.
19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/apl-library/apl_locker.rb', line 19 def self.locked_block namespace, resource, params, wait_time=1000.0, retry_count=0, &block error = nil begin lock(namespace, resource, params, nil, 600, wait_time, retry_count, &block) rescue Exception => e error = e # delete lock and raise it again resource_lock = ScLock::Lock.find_by_resource_name_and_key("#{namespace}-#{resource}", params.sort.to_s) resource_lock.delete if resource_lock end raise error if error end |