gpt4 book ai didi

ruby-on-rails - 如何在不引发错误的情况下将 sidekiq 任务/作业标记为重试?

转载 作者:行者123 更新时间:2023-12-03 16:06:14 25 4
gpt4 key购买 nike

我使用 Sidekiq 队列来处理与不可靠的 3rd 方 API 的通信。由于此 API 通常一次关闭几分钟然后再次备份,因此 Sidekiq 非常方便。当发生连接问题时,会引发错误,Sidekiq 会将作业扔回队列中,以便稍后在一段时间后再次重试。

我使用 NewRelic 不仅可以帮助调试崩溃,还可以用于监控。我的问题是上述当前的方法会在 NewRelic 中产生错误。如果第 3 方 API 关闭超过几分钟,错误计数会累积到足以导致通过 NewRelic 发送通知。

我想要做的只是在某项工作发生一定次数的重试时才从我的工作人员那里引发错误。我正在使用 sidekiq_retries_exhausted去做这个。我的问题是,我不太确定如何在出现错误后将作业放回队列而不引发错误。

Sidekiq 是否提供任何设施来将作业返回到队列,增加作业的重试次数,并让它坐在那里直到它再次运行,就好像在工作类中引发了异常一样?

最佳答案

您提出特定错误并告诉错误服务忽略该类型的错误。对于 NewRelic:

https://docs.newrelic.com/docs/agents/ruby-agent/installation-configuration/ruby-agent-configuration#error_collector.ignore_errors

关于ruby-on-rails - 如何在不引发错误的情况下将 sidekiq 任务/作业标记为重试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35711734/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com