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

Implement Sidekiq::Stats.backlog

This commit is contained in:
jc00ke 2012-09-03 12:19:01 -07:00
parent 7845b5b357
commit 0b2a6e9e2d
3 changed files with 17 additions and 4 deletions

View file

@ -18,5 +18,9 @@ module Sidekiq
}.sort_by { |_, size| size }
}
end
def backlog
queues_with_sizes.map {|_, size| size }.inject(0) {|memo, val| memo + val }
end
end
end

View file

@ -77,7 +77,7 @@ module Sidekiq
end
def backlog
queues.map {|name, size| size }.inject(0) {|memo, val| memo + val }
Sidekiq::Stats.backlog
end
def retries_with_score(score)

View file

@ -65,8 +65,8 @@ class TestStats < MiniTest::Unit::TestCase
end
end
describe "queues_with_counts" do
it "returns queue names and corresponding job counts" do
describe "counting methods" do
before do
@redis.with do |conn|
conn.rpush 'queue:foo', '{}'
conn.sadd 'queues', 'foo'
@ -75,9 +75,18 @@ class TestStats < MiniTest::Unit::TestCase
conn.rpush 'queue:bar', '{}'
conn.sadd 'queues', 'bar'
end
end
describe "queues_with_counts" do
it "returns queue names and corresponding job counts" do
assert_equal [["foo", 1], ["bar", 2]], Sidekiq::Stats.queues_with_sizes
end
end
describe "backlog" do
it "returns count of all jobs yet to be processed" do
assert_equal 3, Sidekiq::Stats.backlog
end
end
end
end
end