module SidekiqUniqueJobs::Job

def add_digest(item)

Returns:
  • (Hash) - the job hash
def add_digest(item)
  add_lock_prefix(item)
  add_lock_args(item)
  add_lock_digest(item)
  item
end

def add_lock_args(item)

def add_lock_args(item)
  item[LOCK_ARGS] ||= SidekiqUniqueJobs::LockArgs.call(item)
end

def add_lock_digest(item)

def add_lock_digest(item)
  item[LOCK_DIGEST] ||= SidekiqUniqueJobs::LockDigest.call(item)
end

def add_lock_prefix(item)

def add_lock_prefix(item)
  item[LOCK_PREFIX] ||= SidekiqUniqueJobs.config.lock_prefix
end

def add_lock_timeout(item)

def add_lock_timeout(item)
  item[LOCK_TIMEOUT] ||= SidekiqUniqueJobs::LockTimeout.calculate(item)
end

def add_lock_ttl(item)

def add_lock_ttl(item)
  item[LOCK_TTL] = SidekiqUniqueJobs::LockTTL.calculate(item)
end

def prepare(item)

Returns:
  • (Hash) - the job hash
def prepare(item)
  stringify_on_conflict_hash(item)
  add_lock_timeout(item)
  add_lock_ttl(item)
  add_digest(item)
end

def stringify_on_conflict_hash(item)

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