module AplLocker
Public Class Methods
locked_block(namespace, resource, params, wait_time=1000.0, retry_count=0, &block)
click to toggle source
hold lock only for the 'block' and delete from database once done.
# 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