加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – sidekiq重试耗尽参数

发布时间:2020-12-17 03:41:30 所属栏目:百科 来源:网络整理
导读:我从其他网站抓取潜在客户并在我的网站上激活它们.使用Sidekiq我每小时运行一次HealthCheckerWorker来停用我网站上的潜在客户,除非它仍然在另一个网站上运行. 有时,HealthCheckerWorker会抛出一个错误,即:错误的URI等…我的困境在于,如果作业失败了10次,现
我从其他网站抓取潜在客户并在我的网站上激活它们.使用Sidekiq我每小时运行一次HealthCheckerWorker来停用我网站上的潜在客户,除非它仍然在另一个网站上运行.

有时,HealthCheckerWorker会抛出一个错误,即:错误的URI等…我的困境在于,如果作业失败了10次,现在处于死亡作业队列中,虽然在其他站点上可能已经很久没有了.

我认为解决方案是添加一个sidekiq_retries_exhausted块,如下所示:

sidekiq_retries_exhausted do |lead_id|
  Lead.find(lead_id).deactivate
end

但正如docs:中所定义的那样

The hook receives the queued message as an argument. This hook is called right before Sidekiq moves the job to the DJQ.

因此它只将消息作为参数.如何在重试耗尽后停用引线?

解决方法

消息是整个作业,包括参数.拔出参数吧.

sidekiq_retries_exhausted do |msg|
  lead_id = msg['args'].first
  Lead.find(lead_id).deactivate
end

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读