class ActiveJob::Locking::Adapters::RedisSemaphore
Public Instance Methods
create_lock_manager()
click to toggle source
# File lib/activejob/locking/adapters/redis-semaphore.rb, line 7 def create_lock_manager mapped_options = {host: self.options.hosts.first, resources: 1, stale_client_timeout: self.options.lock_time}.merge(self.options.adapter_options) Redis::Semaphore.new(self.key, mapped_options) end
lock()
click to toggle source
# File lib/activejob/locking/adapters/redis-semaphore.rb, line 15 def lock self.lock_token = self.lock_manager.lock(self.options.lock_acquire_time) end
unlock()
click to toggle source
# File lib/activejob/locking/adapters/redis-semaphore.rb, line 19 def unlock self.lock_manager.signal(self.lock_token) self.lock_token = nil end