Class: Sidekiq::Stats

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

Defined Under Namespace

Classes: History

Instance Method Summary collapse

Instance Method Details

#enqueuedObject



39
40
41
# File 'lib/sidekiq/api.rb', line 39

def enqueued
  queues.values.inject(&:+) || 0
end

#failedObject



12
13
14
15
16
17
# File 'lib/sidekiq/api.rb', line 12

def failed
  count = Sidekiq.redis do |conn|
            conn.get("stat:failed")
          end
  count.nil? ? 0 : count.to_i
end

#processedObject



5
6
7
8
9
10
# File 'lib/sidekiq/api.rb', line 5

def processed
  count = Sidekiq.redis do |conn|
            conn.get("stat:processed")
          end
  count.nil? ? 0 : count.to_i
end

#queuesObject



26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/sidekiq/api.rb', line 26

def queues
  Sidekiq.redis do |conn|
    queues = conn.smembers('queues')

    array_of_arrays = queues.inject({}) do |memo, queue|
      memo[queue] = conn.llen("queue:#{queue}")
      memo
    end.sort_by { |_, size| size }

    Hash[array_of_arrays.reverse]
  end
end

#resetObject



19
20
21
22
23
24
# File 'lib/sidekiq/api.rb', line 19

def reset
  Sidekiq.redis do |conn|
    conn.set("stat:failed", 0)
    conn.set("stat:processed", 0)
  end
end

#retry_sizeObject



47
48
49
# File 'lib/sidekiq/api.rb', line 47

def retry_size
  Sidekiq.redis {|c| c.zcard('retry') }
end

#scheduled_sizeObject



43
44
45
# File 'lib/sidekiq/api.rb', line 43

def scheduled_size
  Sidekiq.redis {|c| c.zcard('schedule') }
end