捕获异常并使用Sidekiq重试

5

默认情况下,Sidekiq会重试抛出异常的所有作业。这很好。但是,我希望能够捕获该异常,以便我的异常处理程序不会被通知,然后重试该作业。我如何在React中实现这一点?

所以我的代码看起来像这样:

def perform
  ...
rescue ExcClass => ex
  # log
end

但我想重新尝试那个任务。

2个回答

5

配置您的错误服务客户端以忽略ExcClass。Sidekiq将重试,您将不会收到错误报告。


2
如果我理解你的问题正确,那么你可能需要一个自定义的错误处理程序来实现你想要的功能:
Sidekiq.configure_server do |config|
  config.error_handlers << Proc.new {|exception,context_hash| MyErrorService.notify(exception,context_hash) }
end

默认情况下,Sidekiq会自动重试您的作业。

这个回答是否解决了你的问题?有点令人困惑。我从这里的文档中获取了上述信息。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接