class AtomicSidekiq::AtomicOperation::Retrieve

Constants

RETRIEVE_SCRIPT

Public Instance Methods

perform(queues, expire_at) click to toggle source
# File lib/atomic_sidekiq/atomic_operation/retrieve.rb, line 9
def perform(queues, expire_at)
  queues.each do |queue|
    res = retrieve_from_queue(queue, expire_at.to_i)
    return res if res
  end
  nil
end

Private Instance Methods

retrieve_from_queue(queue, expire_at) click to toggle source
# File lib/atomic_sidekiq/atomic_operation/retrieve.rb, line 19
def retrieve_from_queue(queue, expire_at)
  in_flight_prefix = in_flight_keymaker.queue_prefix(queue)
  redis do |conn|
    conn.eval(RETRIEVE_SCRIPT, [queue, in_flight_prefix], [expire_at])
  end
end