【发布时间】:2016-06-08 18:49:55
【问题描述】:
我正在为我的应用程序使用 sidekiq pro,它运行良好。但我想有一种方法来通知我的用户正在重试失败的工作。
流程会是这样的:
Batch starts
worker1 runs successfully
worker2 runs successfully
worker3 fails
oncomplete fires, stuff happens
worker3 restarts
** onretry fires, notification sent to user
worker 3 runs successfully
onsuccess fires, stuff happens
文档中不存在我想象的 onretry,但我希望有办法伪造它。我知道我可以通过状态对象判断批处理是否失败,但我看不到获取重试事件的方法。有这种事吗?
【问题讨论】:
-
作业可以重试多次。您是否希望 onretry 被调用 20 次?
-
是的。我的用例是我想通知用户发生了错误,但也让他们知道作业正在重试(如果是)。我意识到这会导致回调触发无数次。
标签: ruby-on-rails sidekiq