class SidekiqUniqueRetries::Lock
Constants
- HASH_KEY
Attributes
job_id[R]
unique_digest[R]
Public Class Methods
new(item, adapter)
click to toggle source
# File lib/sidekiq_unique_retries/lock.rb, line 10 def initialize(item, adapter) @job_id = adapter.job_id(item) @unique_digest = adapter.unique_digest(item) end
Public Instance Methods
acquire()
click to toggle source
# File lib/sidekiq_unique_retries/lock.rb, line 15 def acquire lock_id = get_lock if lock_id job_id == lock_id else set_lock(job_id) true end end
release()
click to toggle source
# File lib/sidekiq_unique_retries/lock.rb, line 26 def release remove_lock true end
Private Instance Methods
get_lock()
click to toggle source
# File lib/sidekiq_unique_retries/lock.rb, line 33 def get_lock Sidekiq.redis do |conn| conn.hget HASH_KEY, unique_digest end end
remove_lock()
click to toggle source
# File lib/sidekiq_unique_retries/lock.rb, line 45 def remove_lock Sidekiq.redis do |conn| conn.hdel HASH_KEY, unique_digest end end
set_lock(value)
click to toggle source
# File lib/sidekiq_unique_retries/lock.rb, line 39 def set_lock(value) Sidekiq.redis do |conn| conn.hset HASH_KEY, unique_digest, value end end