【发布时间】:2018-05-01 17:31:47
【问题描述】:
我浏览了文档,但还没有找到任何东西。
是否可以在 Sidekiq 的队列中检索给定作业的当前位置?
我的用例是 默认队列 上的 2 个工作人员,其中包含数百个不同复杂度的任务。因此,例如,如果我现在提交一个新任务并且队列大小为 10,我如何确定 5 分钟后我的任务的位置?
谢谢。
【问题讨论】:
我浏览了文档,但还没有找到任何东西。
是否可以在 Sidekiq 的队列中检索给定作业的当前位置?
我的用例是 默认队列 上的 2 个工作人员,其中包含数百个不同复杂度的任务。因此,例如,如果我现在提交一个新任务并且队列大小为 10,我如何确定 5 分钟后我的任务的位置?
谢谢。
【问题讨论】:
你不能不对整个队列进行线性扫描;随着作业的获取和执行,位置会以毫秒为单位发生变化。
Sidekiq::Queue.new("default").each do |job|
p job
end
【讨论】:
Sidekiq::Queue.new.latency 将为您提供队列等待时间的滞后指标。