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



35
36
37
# File 'lib/sidekiq/api.rb', line 35

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

#failedObject



9
10
11
# File 'lib/sidekiq/api.rb', line 9

def failed
  Sidekiq.redis { |conn| conn.get("stat:failed") }.to_i
end

#processedObject



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

def processed
  Sidekiq.redis { |conn| conn.get("stat:processed") }.to_i
end

#queuesObject



22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/sidekiq/api.rb', line 22

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

#reset(*stats) ⇒ Object



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

def reset(*stats)
  all   = %w(failed processed)
  stats = stats.empty? ? all : all & stats.flatten.compact.map(&:to_s)

  Sidekiq.redis do |conn|
    stats.each { |stat| conn.set("stat:#{stat}", 0) }
  end
end

#retry_sizeObject



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

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

#scheduled_sizeObject



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

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