在 sidekiq 中检索队列位置

Retrieve Queue position in sidekiq

我浏览了文档,但还没有找到任何东西。

是否可以检索给定作业在 Sidekiq 队列中的当前位置?

我的用例是 2 个工作人员 默认队列 上有数百个可变复杂性的任务。因此,如果我现在提交一个新任务并且队列大小为 10,我如何在 5 分钟后确定我的任务的位置?

谢谢。

你不能不对整个队列进行线性扫描;随着作业的获取和执行,该位置将逐毫秒变化。

Sidekiq::Queue.new("default").each do |job|
  p job
end