如何在sidekiq中模拟立即重试按钮

时间:2018-06-01 14:09:58

标签: ruby sidekiq

使用Sidekiq v5.1.3,我有一个场景,理想情况下允许用户从"停尸房"手动重试失败的工作。通过自定义仪表板。

我绝对可以使用"现在重试"来自Sidekiq自己的网页用户界面下的死按钮下的按钮,但我无法弄清楚如何从我自己的应用程序以编程方式调用它。

由于文档明确说明:

  

Web UI专门使用API​​ - 您可以在UI中执行的任何操作都可以使用API​​编写脚本。

我想知道如何使用工作的ID或任何其他信息...

1 个答案:

答案 0 :(得分:2)

使用Sidekiq::DeadSet,这是可能的。

例如,您可以列出所有死亡工作:

Sidekiq::DeadSet.new.to_a

这将返回Sidekiq::SortedEntry个实例数组,您可以在其中运行#retry

或者,如果您拥有它,您可以通过单个jid查找:

job = Sidekiq::DeadSet.new.find_job('02df57719b59ab3a2b3ca3f8')
job.retry

这是Sidekiq API

的一部分