私はまだ動作する必要があるため、私のサーバー上でresque-webを実行できませんが、resqueキューの失敗したジョブを確認して再試行する必要があります。redis-cliを使用してresqueジョブを検査して再試行します
エラーが発生したジョブキューを覗いてみて、どのようにしてredis-cliコマンドラインを使って再試行するのか経験者はいますか?
おかげで、
私はまだ動作する必要があるため、私のサーバー上でresque-webを実行できませんが、resqueキューの失敗したジョブを確認して再試行する必要があります。redis-cliを使用してresqueジョブを検査して再試行します
エラーが発生したジョブキューを覗いてみて、どのようにしてredis-cliコマンドラインを使って再試行するのか経験者はいますか?
おかげで、
には、以下のリンクで解決策が見つかりました:私たちは失敗したジョブをチェックし、再試行するには、これらのコマンドを使用することができ、レールコンソールで
http://ariejan.net/2010/08/23/resque-how-to-requeue-failed-jobs
:
1 - ゲット失敗したジョブの数:
Resque::Failure.count
2 - エラー例外クラスとバックトレースを確認する
Resque::Failure.all(0,20).each { |job|
puts "#{job["exception"]} #{job["backtrace"]}"
}
ジョブオブジェクトは、失敗したジョブに関する情報を含むハッシュです。あなたはそれを調べてより多くの情報を調べることができます。また、これは最初の20の失敗したジョブだけを一覧表示することに注意してください。それらをすべてリストする方法がわからないので、リスト全体を取得するために値(0、20)を変更する必要があります。
3 - 再試行し、すべて失敗したジョブ:
(Resque::Failure.count-1).downto(0).each { |i| Resque::Failure.requeue(i) }
4 - 失敗したジョブをリセット回数:
Resque::Failure.clear
再試行するすべてのジョブは、カウンタをリセットしないでください。ゼロになるようにクリアする必要があります。
Resqueには、エラーとそのスタックトレースを表示するための簡単に設定可能なWebインターフェイスがあることを忘れないでください。詳細については、https://github.com/resque/resqueを参照してください。 –
失敗したすべてのジョブをリストするには、次のようにします: 'Resque :: Failure.all(0,0)' –
Resqueにはあらゆる種類のヘルパーがあるので、ルビコンソールを使用する方が簡単です。なぜあなたはredis-cliで直接それをしたいのですか? – marcgg
おかげさまで、あなたが推奨するようにレールコンソールを使用して私の問題を解決しました。 – Horacio