class SidekiqUniqueJobs::Locksmith

def enqueue(conn)

Returns:
  • (yield) - when successfully enqueued
  • (nil) - when redis was already prepared for this lock

Parameters:
  • conn (Redis) -- a redis connection
def enqueue(conn)
  queued_token, elapsed = timed do
    call_script(:queue, key.to_a, argv, conn)
  end
  validity = config.pttl - elapsed - drift(config.pttl)
  return unless queued_token && (validity >= 0 || config.pttl.zero?)
  write_lock_info(conn)
  yield
end