如何从作业内部获取 sidekiq retry_count

Tot*_*tic 5 ruby-on-rails sidekiq

每次 sidekiq 作业的 retry_count 达到 5 时,我都尝试发送警报(以警告工程师检查工作人员失败的原因),然后像往常一样继续重试。

有没有办法从作业内部获取特定作业的重试次数?

我可以使用:

sidekiq_retry_in do |count|
  (warn engineer here)
  10 * (count + 1) # (i.e. 10, 20, 30, 40)
end
Run Code Online (Sandbox Code Playgroud)

并从那里发送消息,但我认为它有点黑客。

有任何想法吗?谷歌搜索没有出现任何结果。

Mik*_*ham 5

根据设计,无法从作业内部获取重试计数。

  • 重试意味着您在中间件中执行的操作,与作业正交。您可以派生并修改现有的 RetryJobs 中间件。 (3认同)