Sidekiq - 查看已完成的作业

Posted

技术标签:

【中文标题】Sidekiq - 查看已完成的作业【英文标题】:Sidekiq - view completed jobs 【发布时间】:2015-11-11 04:10:33 【问题描述】:

是否有可能以某种方式查看 sidekiq 完成的工作列表 - 例如,使用参数 (1) 查找所有 PurchaseWorkers?昨天在我的应用程序中,应该运行的延迟方法没有运行,并且关联实体(比如说“购买”)陷入了状态“处理”的困境。我试图了解原因是什么:作业根本没有排队或排队但由于某种原因意外退出。 sidekiq 日志中没有错误。 谢谢。

【问题讨论】:

sidekiq-status 可能会有所帮助 【参考方案1】:

这是旧的,但我想看到同样的东西,因为我不确定我安排的作业是否运行!

事实证明,Sidekiq 没有内置任何东西来查看已完成且似乎仍未完成的作业。

如果它出错并且永远不会完成,它应该在“死”队列中。但是默认情况下,检查实际运行的东西似乎超出了 Sidekiq 的范围。

FAQ 建议安装 3rd 方插件来跟踪和记录信息:https://github.com/mperham/sidekiq/wiki/FAQ#how-can-i-tell-when-a-job-has-finished 其中一个允许回调以进行跟进(也许在其他地方添加已完成工作的记录?)

您还可以将 Sidekiq 设置为登录到 STDOUT(默认)以外的其他位置,以便输出有关作业的日志信息。在这种情况下,如果由于某种原因它永远不会在出现问题时进入重试或死作业队列,则记录它已完成或捕获错误。见https://github.com/mperham/sidekiq/wiki/Logging

要查看仍在队列中的作业,您可以使用 Rails 控制台并按队列名称查看队列 @9​​87654323@

【讨论】:

【参考方案2】:

一个选项是 sidekiq 提供的默认统计信息 - https://github.com/mperham/sidekiq/wiki/Monitoring#using-the-built-in-dashboard

最好的选择是使用此处提供的 Web UI - https://github.com/mperham/sidekiq/wiki/Monitoring#web-ui

【讨论】:

同意。为什么投反对票?问题没有特别要求编程访问,但听起来任何查看方式都可以。虽然我不记得您是否能够查看已完成的作业,至少在默认情况下是这样,因为这通常会以非常快的速度增加。 我没有投反对票,但我怀疑投反对票是因为默认的 sidekiq Web UI 不允许您查看作业是否已成功/静默地入队和退出。您可以查看它是否失败或重试。 我没有投反对票,但这根本不能回答问题。使用 sidekiq-web 无法查看 已完成 作业,这令人沮丧。您只能看到当前正在运行的作业

以上是关于Sidekiq - 查看已完成的作业的主要内容,如果未能解决你的问题,请参考以下文章

工作人员完成后 Sidekiq 未释放内存

ActiveJob + Sidekiq 6.0.3:如何写入日志文件?

sap定时job执行时状态已取消啥原因

Sidekiq 停止一项正在运行的作业

Sidekiq 作业负载的建议最大大小是多少?

Android应用程序作业代写代写Android作业