sidekiq 在重试之前更新参数

use*_*563 2 ruby-on-rails sidekiq

如何在重试之前更新活动作业参数?我有一项需要一些持久存储的作业,因此我将其数据存储为作业的参数(哈希),并且数据在每次作业后更新。如果作业失败,我想使用更新的数据而不是用于计划作业的数据重试。

顺便说一句,我正在使用 sidekiq 来安排我的工作。

问候。

Mik*_*ham 7

您需要使用修改后的参数来挽救并创建一个新作业。Sidekiq 不允许您从 Worker 修改作业。

def perform(a)
  begin
    do_work
  rescue SomeError
    self.class.perform_async(a+1)
  end
end
Run Code Online (Sandbox Code Playgroud)