默认情况下,Sidekiq会重试抛出异常的所有作业。这很好。但是,我希望能够捕获该异常,以便我的异常处理程序不会被通知,然后重试该作业。我如何在React中实现这一点?
所以我的代码看起来像这样:
def perform
...
rescue ExcClass => ex
# log
end
但我想重新尝试那个任务。
默认情况下,Sidekiq会重试抛出异常的所有作业。这很好。但是,我希望能够捕获该异常,以便我的异常处理程序不会被通知,然后重试该作业。我如何在React中实现这一点?
所以我的代码看起来像这样:
def perform
...
rescue ExcClass => ex
# log
end
但我想重新尝试那个任务。
配置您的错误服务客户端以忽略ExcClass。Sidekiq将重试,您将不会收到错误报告。
Sidekiq.configure_server do |config|
config.error_handlers << Proc.new {|exception,context_hash| MyErrorService.notify(exception,context_hash) }
end
默认情况下,Sidekiq会自动重试您的作业。
这个回答是否解决了你的问题?有点令人困惑。我从这里的文档中获取了上述信息。