class Sidekiq::Queue
Public Instance Methods
each(&block)
click to toggle source
# File lib/sidekiq/prioritized_queues/monkeypatches/api.rb, line 40 def each(&block) initial_size = size deleted_size = 0 page = 0 page_size = 50 loop do range_start = page * page_size - deleted_size range_end = page * page_size - deleted_size + (page_size - 1) entries = Sidekiq.redis do |conn| conn.zrevrange @rname, range_start, range_end end break if entries.empty? page += 1 entries.each do |entry| block.call Job.new(entry, @name) end deleted_size = initial_size - size end end
latency()
click to toggle source
# File lib/sidekiq/prioritized_queues/monkeypatches/api.rb, line 32 def latency entry = Sidekiq.redis do |conn| conn.zrange(@rname, -1, -1) end.first return 0 unless entry Time.now.to_f - Sidekiq.load_json(entry)['enqueued_at'] end
size()
click to toggle source
# File lib/sidekiq/prioritized_queues/monkeypatches/api.rb, line 28 def size Sidekiq.redis { |conn| conn.zcard(@rname) } end