0
私は、タスクの状態をカスタム値に更新し、それを読んで値に従っていくつかのロジックを適用する必要があるシナリオを持っています。Cele + Pythonはupdate_state呼び出しを無視します
これは私のセロリの設定です:
celery = Celery(app.import_name,
backend='redis://127.0.0.1:6379/0',
broker='redis://127.0.0.1:6379/0')
celery.conf.update(CELERY_TASK_SERIALIZER='pickle',
CELERY_RESULT_BACKEND='redis://127.0.0.1:6379/0',
CELERY_IGNORE_RESULT=False,
CELERY_ALWAYS_EAGER=False,
CELERY_ACCEPT_CONTENT=['pickle'],
CELERY_RESULT_SERIALIZER='pickle')
だから私は基本的にRedisの+漬物を使用しています。状態を更新するための呼び出しが
self.update_state('foo')
ように作られたが、私はこのように私のタスクを呼び出し、状態を確認したときにされています
result = task.delay(*args)
print(result.state)
私はいつもPENDING
またはSUCCESS
のいずれかを取得し、そのいずれかの中間の値がスキップされます更新の呼び出しが確実に行われたとしても、
私はRedisを取得し、ignore_result
オプションはFalseに設定されています。
うん..それはそれを釘付け.... ....ありがとう –