私は昨年、自分の仕事のプロセスにまともな変更を加えました。それぞれのモデルにafter_commit
代わりのafter_create
からそれをトリガーするだけでなく、ロジックをクリーンアップし、コーナーケースにOld Sidekiqの仕事は永遠に再試行します。サイドキックのUIに関する可視性がない
をカバーするようなものは、私は私のHerokuのRubyの上に私のPapertrail
ログに何度も繰り返しヶ月前に再試行するから私の古いジョブを参照してくださいRailsアプリ。新しいものは問題なく、私の変更は問題を解決したと信じています。問題は、これらの古い仕事をすべて停止するにはどうすればいいのですか?また、私はSidekiq
のUIでそれを見ませんか? SidekiqのUIには完了したジョブの数だけが表示されますが、失敗、デッド、ビジー、またはエンキューされたジョブはありません。それは0と言われていますが、ログは激しく乱れています。
私はジョブIDを記録しますが、それはyou cannot kill a specific jobです。サーバーを何度も再起動しました。毎日彼らは再び試みます。
最近のすべてのジョブは問題ありません。先月以降のものは何も繰り返されません。 after_create
トリガージョブを持つ5000個のオブジェクトのうち、再試行しているのは1-60だけです。他の人が合格し、jid
年代を知っている場合は、レールのコンソールからこれを行うことができます
かなり単純ですが、これらのオプションは両方ともループ内で0の結果をもたらします。私は単に削除する代わりにjidを印刷していました。私はすべての '新しい'ジョブがログとsidekiqキューに表示されるので、同じsidekiqインスタンスを知っていますが、これらの '古い'ものはログにのみ表示されます - サイドキーキューではありません – MingMan
jid再試行時に変更されます。あなたがルックアップのために行うことができるもう一つの適格な仕事の要因がありますか?多分あなたが以前の仕事から来たと言うことができる 'job.args'の中の何か? – Anthony
私は間違っているかもしれません - どのキューにもアイテムがありません。削除行(または私の場合はputs行)にヒットしません。私が考えることができるのは、ある時点でキューの名前が変更されたということですが、私は自分のredisインスタンスを見て、鉱山( "証明書")以外のキュー名は表示されません – MingMan