1
0
Fork 0
mirror of https://github.com/mperham/sidekiq.git synced 2022-11-09 13:52:34 -05:00

Order queues by number enqueued.

This commit is contained in:
Brandon Hilkert 2012-12-04 17:05:47 -05:00
parent 3e22bfd58e
commit de55c8d542
2 changed files with 6 additions and 3 deletions

View file

@ -21,10 +21,12 @@ module Sidekiq
Sidekiq.redis do |conn|
queues = conn.smembers('queues')
queues.inject({}) do |memo, queue|
array_of_arrays = queues.inject({}) do |memo, queue|
memo[queue] = conn.llen("queue:#{queue}")
memo
end
end.sort_by { |_, size| size }
Hash[array_of_arrays.reverse]
end
end

View file

@ -38,7 +38,7 @@ class TestApi < MiniTest::Unit::TestCase
assert_equal 0, s.queues.size
end
it "returns a hash of queue and size" do
it "returns a hash of queue and size in order" do
Sidekiq.redis do |conn|
conn.rpush 'queue:foo', '{}'
conn.sadd 'queues', 'foo'
@ -49,6 +49,7 @@ class TestApi < MiniTest::Unit::TestCase
s = Sidekiq::Stats.new
assert_equal ({ "foo" => 1, "bar" => 3 }), s.queues
assert_equal "bar", s.queues.first.first
end
end