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

* Change instance methods to class methods

* Run queues in same redis connection
* Change name of queued to enqueued
This commit is contained in:
Brandon Hilkert 2012-12-04 12:18:05 -05:00
parent 7719effdee
commit 4dcbec2ba2
2 changed files with 29 additions and 33 deletions

View file

@ -3,33 +3,34 @@ require 'sidekiq'
module Sidekiq
class Stats
def processed
Sidekiq.redis do |conn|
conn.get("stat:processed")
end || 0
end
class << self
def processed
Sidekiq.redis do |conn|
conn.get("stat:processed")
end || 0
end
def failed
Sidekiq.redis do |conn|
conn.get("stat:failed")
end || 0
end
def failed
Sidekiq.redis do |conn|
conn.get("stat:failed")
end || 0
end
def queues
queues = Sidekiq.redis { |conn| conn.smembers('queues') }
def queues
Sidekiq.redis do |conn|
queues = conn.smembers('queues')
Sidekiq.redis do |conn|
queues.inject({}) do |memo, queue|
memo[queue] = conn.llen("queue:#{queue}")
memo
queues.inject({}) do |memo, queue|
memo[queue] = conn.llen("queue:#{queue}")
memo
end
end
end
end
def queued
queues.values.inject(&:+) || 0
def enqueued
queues.values.inject(&:+) || 0
end
end
end
##

View file

@ -8,22 +8,20 @@ class TestApi < MiniTest::Unit::TestCase
describe "processed" do
it "is initially zero" do
s = Sidekiq::Stats.new
assert_equal 0, s.processed
assert_equal 0, Sidekiq::Stats.processed
end
end
describe "failed" do
it "is initially zero" do
s = Sidekiq::Stats.new
assert_equal 0, s.processed
assert_equal 0, Sidekiq::Stats.processed
end
end
describe "queues" do
it "is initially empty" do
s = Sidekiq::Stats.new
assert_equal 0, s.queues.size
assert_equal 0, Sidekiq::Stats.queues.size
end
it "returns a hash of queue and size" do
@ -35,18 +33,16 @@ class TestApi < MiniTest::Unit::TestCase
conn.sadd 'queues', 'bar'
end
s = Sidekiq::Stats.new
assert_equal ({ "foo" => 1, "bar" => 3 }), s.queues
assert_equal ({ "foo" => 1, "bar" => 3 }), Sidekiq::Stats.queues
end
end
describe "queued" do
describe "enqueued" do
it "is initially empty" do
s = Sidekiq::Stats.new
assert_equal 0, s.queued
assert_equal 0, Sidekiq::Stats.enqueued
end
it "returns total queued jobs" do
it "returns total enqueued jobs" do
Sidekiq.redis do |conn|
conn.rpush 'queue:foo', '{}'
conn.sadd 'queues', 'foo'
@ -55,8 +51,7 @@ class TestApi < MiniTest::Unit::TestCase
conn.sadd 'queues', 'bar'
end
s = Sidekiq::Stats.new
assert_equal 4, s.queued
assert_equal 4, Sidekiq::Stats.enqueued
end
end
end