私はRails APPでジョブ管理にSidekiqを使用しています。私はあなたが失敗したジョブ(Ids、オブジェクト、エラーメッセージなど)の引数をどのように取得するのか知りたいですか? WebUIでは、失敗したジョブの数はすべて取得できます。私が正しく理解していれば、デフォルトでは、特定のジョブが失敗した回数をすべて加算することになります。私は自分のアプリをデプロイしており、それはいくつかのワーカーで動作しています。何日も経っているsidekiq.logを持っている場合、すべてのワーカーを調べて調べるのは難しいです。引数の付いた失敗したSidekiqジョブのリストを見つけよう
回答を検索しています。最も近いものの1つは、folowingリンクに記述されています。
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
おかげで、あなたはリトライを探している
ヤニック
ありがとうございます。私の理解から、失敗して再試行される仕事があります。 WebUIでは、「再試行」ボタンをクリックするとリストに表示されます。他は失敗しています(クリックする方法はありません)。これらのうちのいくつかは再試行されていないようです(そうしないと、何度も再試行する必要があるため、失敗したリストに入るのに時間がかかります)。私の特別な関心はそれらのものです。私はここで何かを誤解していますか? – Yann
"失敗"は、エラーを発生させたジョブの実行試行です。ジョブがN回失敗することがあります。そのため、失敗は解消できません。それは単なるカウンタです。ジョブが再試行を無効にすると、ジョブは一時的なものになり、エラーを増やす以外はUIに表示されません。 –
あなたの親切で速い返信ありがとうございました。 – Yann