私には仕事があります:
@celery.task(name='request_task',default_retry_delay=2,acks_late=True)
def request_task(data):
try:
if some_condition:
request_task.retry()
except Exception as e:
request_task.retry()
私はmongodbブローカーとmongodb結果バックエンドを有効にしてセロリを使用しています。
タスクの retry() メソッドが呼び出された場合、条件ステートメントからでも、例外をキャッチした後でも、タスクは再試行されません。
ワーカーの端末で、次のようなメッセージが表示されます。
[2012-08-10 19:21:54,909: INFO/MainProcess] タスク request_task[badb3131-8964-41b5-90a7-245a8131e68d] 再試行: タスクを再試行できます
何が間違っている可能性がありますか?
更新:最後に、私はこの質問を解決せず、タスク内で while ループを使用する必要があったため、タスクが再試行されることはありません。