class Sidekiq::ProcessSet
Enumerates the set of Sidekiq
processes which are actively working right now. Each process sends a heartbeat to Redis every 5 seconds so this set should be relatively accurate, barring network partitions.
@yieldparam [Sidekiq::Process]
Public Class Methods
[](identity)
click to toggle source
# File lib/sidekiq/api.rb, line 882 def self.[](identity) exists, (info, busy, beat, quiet, rss, rtt_us) = Sidekiq.redis { |conn| conn.multi { |transaction| transaction.sismember("processes", identity) transaction.hmget(identity, "info", "busy", "beat", "quiet", "rss", "rtt_us") } } return nil if exists == 0 || info.nil? hash = Sidekiq.load_json(info) Process.new(hash.merge("busy" => busy.to_i, "beat" => beat.to_f, "quiet" => quiet, "rss" => rss.to_i, "rtt_us" => rtt_us.to_i)) end