タスクの再試行で問題が発生しました。テストタスクは次のようになります。
from celery.decorators import task
@task()
def add(x, y):
if not x or not y:
raise Exception("test error")
return x+y
装飾されたタスクを再試行する方法に関するドキュメントがまったく見つかりません。見つけたのはこれだけです。
self.retry(x,y, exc=exception, countdown=30)
self
メソッドから渡される変数がないため、これは私の場合には機能しないようです。
編集:
私は今、無駄に次のことを試みています:
from celery.decorators import task
@task()
def add(x, y):
if not x or not y:
try:
raise Exception("test error")
except Exception, e:
add.retry([x, y], exc=e, countdown=30)
return x+y
次のエラーが発生します。
TypeError("再試行のkwargs引数を空にすることはできません。タスクは**kwargsを受け入れる必要があります。http://bit.ly/cAx3Bgを参照してください"、)