class AtomicSidekiq::RecoveredStats

Public Instance Methods

increment!(job) click to toggle source
# File lib/atomic_sidekiq/recovered_stats.rb, line 3
def increment!(job)
  increment_by_job!(job["class"])
  increment_by_queue!(job["queue"])
end
stats_by_job() click to toggle source
# File lib/atomic_sidekiq/recovered_stats.rb, line 12
def stats_by_job
  iterate_stats(job_prefix)
end
stats_by_queue() click to toggle source
# File lib/atomic_sidekiq/recovered_stats.rb, line 8
def stats_by_queue
  iterate_stats(queue_prefix)
end

Private Instance Methods

increment_by_job!(job_name) click to toggle source
# File lib/atomic_sidekiq/recovered_stats.rb, line 36
def increment_by_job!(job_name)
  Sidekiq.redis { |conn| conn.incr("#{job_prefix}:#{job_name}") }
end
increment_by_queue!(queue) click to toggle source
# File lib/atomic_sidekiq/recovered_stats.rb, line 40
def increment_by_queue!(queue)
  Sidekiq.redis { |conn| conn.incr("#{queue_prefix}:#{queue}") }
end
iterate_keys(prefix) click to toggle source
# File lib/atomic_sidekiq/recovered_stats.rb, line 25
def iterate_keys(prefix)
  it = 0
  result = []
  loop do
    it, keys = Sidekiq.redis { |conn| conn.scan(it, match: "#{prefix}:*") }
    result.concat(keys)
    it = it.to_i
    return result if it.zero?
  end
end
iterate_stats(prefix) click to toggle source
# File lib/atomic_sidekiq/recovered_stats.rb, line 18
def iterate_stats(prefix)
  iterate_keys(prefix).map do |key|
    value = Sidekiq.redis { |conn| conn.get(key) }
    [key.gsub(Regexp.new("#{prefix}:"), ""), value]
  end.to_h
end
job_prefix() click to toggle source
# File lib/atomic_sidekiq/recovered_stats.rb, line 52
def job_prefix
  "#{prefix}:job"
end
prefix() click to toggle source
# File lib/atomic_sidekiq/recovered_stats.rb, line 44
def prefix
  "atomic_sidekiq"
end
queue_prefix() click to toggle source
# File lib/atomic_sidekiq/recovered_stats.rb, line 48
def queue_prefix
  "#{prefix}:queue"
end