ruby-on-rails - 我可以重定向失败的 sidekiq 工作人员进行调查吗?
问题描述
我将 Sidekiq 与我的 Rails 应用程序一起使用,并且有大约 30 名工作人员根据用户在 Rails 应用程序中单击的任务以随机顺序启动。有时,sidekiq 作业失败,我必须关闭 sidekiq 并手动调查错误,从而中断所有工作人员(由该用户和任何其他用户启动)
我刚刚实现了一个中间件,这样每次sidekiq作业失败时我终于可以调用一个方法;但是,现在我想知道是否有一种方法可以在不同的队列中重新运行该作业(比如说“retry_queue”)。
现在,我的 sidekiq 工作人员是这样开始的:
class TestingWorker
include Sidekiq::Worker
sidekiq_options queue: Rails.env.to_sym
这基本上使用环境正在运行的任何队列(例如开发或生产)。但是,鉴于此设置或任何其他设置,我不确定如何实现我的目标。
所以我的问题是:
- 如何从捕获失败的 sidekiq 工作人员的中间件方法将失败的 sidekiq 作业重定向到另一个队列?
- 将其重定向到另一个队列后,如何重新设计 sidekiq 作业以理解这一点?
理想情况下,如果我能以某种方式改变这一点:
sidekiq_options queue: Rails.env.to_sym
像这样:
sidekiq_options queue: [something here].include? "retry_queue" ? :retry_queue : Rails.env.to_sym
任何想法或建议将不胜感激。
解决方案
所有重试都失败的作业然后进入死集和 Web UI 中的死选项卡。请参阅错误处理 wiki 页面。
推荐阅读
- python - 致命错误:Python.h:没有这样的文件或目录,python-Levenshtein 安装
- html - CSS 仅选择内容并排除跨度
- css - chartjs - 如何在底角添加边框半径
- python - Keras 验证准确性正在提高
- php - 如何将字段添加到通知 laravel
- sql-server - 确定与岛屿的连续一天可用性
- javascript - 里程/站点编号的输入掩码
- windows - 运行 Veeam PowersShell 脚本时服务器重启
- javascript - 我们如何用 R 语言绘制 Highcarts 组织结构图?
- excel - 使用 VBA 对命名的 Excel 范围进行排序,使用 DIM 来引用命名范围,我得到一个错误