Class: Sidekiq::Stats::Queues

Inherits:
Object
  • Object
show all
Includes:
RedisScanner
Defined in:
lib/sidekiq/api.rb

Instance Method Summary collapse

Methods included from RedisScanner

#sscan

Instance Method Details

#lengthsObject



147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
# File 'lib/sidekiq/api.rb', line 147

def lengths
  Sidekiq.redis do |conn|
    queues = sscan(conn, "queues")

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

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

    Hash[array_of_arrays.reverse]
  end
end