Sha256: c123e91c5681f4a1821a60b8f411f8c48e633f5db057153d6fbfb5d1d7692bab
Contents?: true
Size: 944 Bytes
Versions: 10
Compression:
Stored size: 944 Bytes
Contents
module Sidekiq module_function def info results = {} processed, failed, queues = Sidekiq.redis { |conn| conn.multi do conn.get('stat:processed') conn.get('stat:failed') conn.smembers('queues') end } results[:queues_with_sizes] = Sidekiq.redis do |conn| queues.inject({}) { |memo, q| memo[q] = conn.llen("queue:#{q}") memo }.sort_by { |_, size| size } end results[:processed] = (processed || 0).to_i results[:failed] = (failed || 0).to_i results[:backlog] = results[:queues_with_sizes]. map {|_, size| size }. inject(0) {|memo, val| memo + val } results end def size(*queues) return info[:backlog] if queues.empty? Sidekiq.redis { |conn| conn.multi { queues.map { |q| conn.llen("queue:#{q}") } } }.inject(0) { |memo, count| memo += count } end end
Version data entries
10 entries across 10 versions & 1 rubygems