gpt4 book ai didi

ruby-on-rails - 使用参数查找失败的 Sidekiq 作业列表

转载 作者:行者123 更新时间:2023-12-04 02:01:46 25 4
gpt4 key购买 nike

我正在使用 Sidekiq 通过 Rails APP 进行作业管理。我想知道您如何获取失败作业的参数(ID、对象、错误消息等...)?在 WebUI 上,您得到的只是失败作业的数量。如果我理解正确,默认值是将给定作业失败的所有次数相加。我已经部署了我的应用程序,它正在几个工作人员上运行。很难检查每个工作人员并试图找出答案,尤其是当您有很多天以前的 sidekiq.log 时。

我在这里和网上搜索答案。在以下链接中描述了最接近的一个。

How to find failed jobs list in sidekiq?

这允许找出我在一段时间内有多少失败的工作。但是,我仍然不知道如何确切地知道什么工作失败以及为什么失败。

基本上,我想以某种方式收集 job_ids 并定期检查哪些失败了,或者是否有更简单的方法,只需查询 Sidekiq/Redis 并查看失败作业的参数和错误是什么。

我也访问了这个链接:Get error message out of Sidekiq job

这是我正在使用的示例作业

class ClassificationJob < ActiveJob::Base
queue_as :default

def perform(entity)
entity.preprocess!
entity.classify!
end
end

我试着修改成这个
class ClassificationJob < ActiveJob::Base
queue_as :default

def perform(entity)
entity.preprocess!
entity.classify!
store entity_id: entity.id.to_s

entity_id = retrieve :entity_id
end
end

但它吐出以下错误:
ArgumentError: You cannot include Sidekiq::Worker in an ActiveJob: ClassificationJob

谢谢,

雅尼克

最佳答案

您正在寻找重试。 “重试”是 Sidekiq 的术语,用于表示已失败并将在 future 某个时间重试的作业。

Web UI 使用 API wiki 页面上记录的 Sidekiq API 来列出重试选项卡上的重试:

https://github.com/mperham/sidekiq/wiki/API#retries

retries = Sidekiq::RetrySet.new
retries.each do |job|
p [job.klass, job.args, job.jid]
end

关于ruby-on-rails - 使用参数查找失败的 Sidekiq 作业列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33576200/

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