加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – Sidekiq列出所有工作[排队运行]

发布时间:2020-12-17 03:57:17 所属栏目:百科 来源:网络整理
导读:有没有办法获取当前队列中正在运行的所有作业的列表?基本上,我想知道给定班级的工作是否已经存在,我不想插入我的其他工作.我见过其他选择,但我想这样做. 我可以看到here如何获取队列中的作业列表. queue = Sidekiq::Queue.new("mailer")queue.each do |job|
有没有办法获取当前队列中正在运行的所有作业的列表?基本上,我想知道给定班级的工作是否已经存在,我不想插入我的其他工作.我见过其他选择,但我想这样做.

我可以看到here如何获取队列中的作业列表.

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

工作是哈希.

列出所有队列数据.

queue = Sidekiq::Queue.all
queue.each do |job|
  p job.klass,job.args,job.jid
end

对于特定队列,将其更改为Sidekiq :: Queue.new(‘queue_name’)

同样,您可以使用Sidekiq :: ScheduledSet.new获取所有预定作业

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读