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:
parent
7719effdee
commit
4dcbec2ba2
2 changed files with 29 additions and 33 deletions
|
@ -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
|
||||
|
||||
##
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Add table
Reference in a new issue