Sidekiq Github wiki 中文文档
作业生命周期
commit信息:Link to Dead Job Queue wiki | 提交者:swrobel | 提交时间:2018-03-28 | 版本:f3292a8
首次查看Web UI时,你可能注意到关于一个作业的所有可能状态的计数器。下面是这些状态的意思,以及说明它们之间如何转换。
- Processed 执行成功,不再执行其它操作。
- Failed 被Sidekiq执行的所有作业发生错误的次数。因为默认的重试策略是25,一个作业可以引发的失败会增加25次。注意一个作业绝不会以失败状态结束,因为那是一个单纯的传递状态。仅可能的最终状态是Processed或者Dead。
- Busy 正在执行中。
- Enqueued 在处理队列中等待回合(被队列按时间顺序列出)
- Retries 执行失败了,但是将要在未来某时自动重试执行(按时间顺序列出)
- Scheduled 设置在未来某时运行(当它们的时间到了,可能入队)
- Dead 不再被重新执行,但是被保存下来为了在不久的未来被手动重新执行。
特别注意,如果该作业失败一次或者多次,同时它最终又成功重试,该作业可能同时增加“已处理”和“失败”计数器。
修改生命周期
重试选项可以在worker或者特定的作业中设置,以便完全禁用重试(作业直接变为 Dead)或者禁用“死亡”(失败作业直接被丢弃)。如果失败计数增加,但是在“重试”或者“死亡”选项卡中没有看到任何东西,那可能是你禁用了这一项或是两项:
class SomeWorker
# 完全是瞬时的,不在“重试”或者“死亡”
sidekiq_options retry: false
# 第一次失败后将立即进入“死亡”选项卡
sidekiq_options retry: 0