使用Sidekiq v5.1.3,我有一个场景,理想情况下允许用户从"停尸房"手动重试失败的工作。通过自定义仪表板。
我绝对可以使用"现在重试"来自Sidekiq自己的网页用户界面下的死按钮下的按钮,但我无法弄清楚如何从我自己的应用程序以编程方式调用它。
由于文档明确说明:
Web UI专门使用API - 您可以在UI中执行的任何操作都可以使用API编写脚本。
我想知道如何使用工作的ID或任何其他信息...
答案 0 :(得分:2)
使用Sidekiq::DeadSet
,这是可能的。
例如,您可以列出所有死亡工作:
Sidekiq::DeadSet.new.to_a
这将返回Sidekiq::SortedEntry
个实例数组,您可以在其中运行#retry
。
或者,如果您拥有它,您可以通过单个jid
查找:
job = Sidekiq::DeadSet.new.find_job('02df57719b59ab3a2b3ca3f8')
job.retry
这是Sidekiq API。
的一部分