module SidekiqUniqueJobs::Job
Utility class to append uniqueness to the sidekiq job hash
@author Mikael Henriksson <mikael@mhenrixon.com>
Public Instance Methods
add_digest(item)
click to toggle source
Adds lock_args, lock_prefix and lock_digest to the sidekiq job hash @return [Hash] the job hash
# File lib/sidekiq_unique_jobs/job.rb, line 21 def add_digest(item) add_lock_prefix(item) add_lock_args(item) add_lock_digest(item) item end
prepare(item)
click to toggle source
Adds timeout, expiration, lock_args, lock_prefix and lock_digest to the sidekiq job hash @return [Hash] the job hash
# File lib/sidekiq_unique_jobs/job.rb, line 12 def prepare(item) stringify_on_conflict_hash(item) add_lock_timeout(item) add_lock_ttl(item) add_digest(item) end
Private Instance Methods
add_lock_args(item)
click to toggle source
# File lib/sidekiq_unique_jobs/job.rb, line 46 def add_lock_args(item) item[LOCK_ARGS] ||= SidekiqUniqueJobs::LockArgs.call(item) end
add_lock_digest(item)
click to toggle source
# File lib/sidekiq_unique_jobs/job.rb, line 50 def add_lock_digest(item) item[LOCK_DIGEST] ||= SidekiqUniqueJobs::LockDigest.call(item) end
add_lock_prefix(item)
click to toggle source
# File lib/sidekiq_unique_jobs/job.rb, line 54 def add_lock_prefix(item) item[LOCK_PREFIX] ||= SidekiqUniqueJobs.config.lock_prefix end
add_lock_timeout(item)
click to toggle source
# File lib/sidekiq_unique_jobs/job.rb, line 42 def add_lock_timeout(item) item[LOCK_TIMEOUT] ||= SidekiqUniqueJobs::LockTimeout.calculate(item) end
add_lock_ttl(item)
click to toggle source
# File lib/sidekiq_unique_jobs/job.rb, line 38 def add_lock_ttl(item) item[LOCK_TTL] = SidekiqUniqueJobs::LockTTL.calculate(item) end
stringify_on_conflict_hash(item)
click to toggle source
# File lib/sidekiq_unique_jobs/job.rb, line 31 def stringify_on_conflict_hash(item) on_conflict = item[ON_CONFLICT] return unless on_conflict.is_a?(Hash) item[ON_CONFLICT] = on_conflict.deep_stringify_keys end