class Sidekiq::Stats

Public Instance Methods

queues() click to toggle source
# File lib/sidekiq/prioritized_queues/monkeypatches/api.rb, line 5
def queues
  Sidekiq.redis do |conn|
    queues = conn.smembers('queues')

    lengths = conn.pipelined do
      queues.each do |queue|
        conn.zcard("queue:#{queue}")
      end
    end

    i = 0
    array_of_arrays = queues.inject({}) do |memo, queue|
      memo[queue] = lengths[i]
      i += 1
      memo
    end.sort_by { |_, size| size }

    Hash[array_of_arrays.reverse]
  end
end