class Sidekiq::Client

Private Instance Methods

atomic_push(conn, payloads) click to toggle source
# File lib/sidekiq/prioritized_queues/monkeypatches/client.rb, line 6
def atomic_push(conn, payloads)
  if payloads.first['at']
    conn.zadd('schedule', payloads.map do |hash|
      at = hash.delete('at').to_s
      [at, Sidekiq.dump_json(hash)]
    end)
  else
    q = payloads.first['queue']

    conn.sadd('queues', q)

    payloads.each do |entry|
      to_push  = Sidekiq.dump_json(entry)
      priority = entry['priority'] || 0
      conn.zadd("queue:#{q}", priority, to_push)
    end
  end
end