私はdjangoでセロリを使用しています。失敗したタスクを調べ、必要に応じて失敗したタスクのデータを変更し、再度送信するオプションをユーザーに提供する必要があります。私はこのスレッドを見てきました - Celery Storeing unrecoverable task failures for later resubmission。したがって、セロリはタスクの元の引数とkwargsを保存しないことを理解しており、それを処理する必要があります。私はそれで大丈夫です。しかし、チェーン「SubTask1 | SubTask2 | SubTask3」を送信するメインタスク「MainTask1」があり、SubTask2 が失敗した場合、SubTask2 が成功するまで SubTask3 が実行されないことがわかります。ただし、SubTask2 が最大再試行後に失敗した場合、SubTask3 は送信されません。
私の質問は -
SubTask2 が失敗した場合、その引数と kwargs を永続化できます。しかし、チェーン内の残りのタスクの情報を取得するにはどうすればよいでしょうか?
celery_taskmeta テーブルの「result」列と「meta」列には正確に何が格納されていますか?
テーブル celery_tasksetmeta はいつ入力されますか?
ありがとう、