Sidekiq列出所有工作
有没有办法获取当前队列中正在运行的所有作业的列表? 基本上,我想知道给定class级的工作是否已经存在,我不想插入我的其他工作。 我见过其他选择,但我想这样做。
我在这里可以看到如何获取队列中的作业列表。
queue = Sidekiq::Queue.new("mailer") queue.each do |job| job.klass # => 'MyWorker' end
根据我的理解,这将不包括处理/运行工作。 有什么方法可以得到它们?
如果要列出当前正在从控制台运行作业的所有作业,请尝试此操作
workers = Sidekiq::Workers.new workers.each do |_process_id, _thread_id, work| p work end
work
是哈希。
列出所有队列数据。
queue = Sidekiq::Queue.all queue.each do |job| p job.klass, job.args, job.jid end
对于特定队列,将其更改为Sidekiq::Queue.new('queue_name')
同样,您可以使用Sidekiq::ScheduledSet.new
获取所有预定作业