我正在創建一個自定義Celery任務類,以覆蓋在任務達到最大重試次數(on_failure
)時發生的情況。如果任務失敗,我需要更新用戶模型的狀態。將參數傳遞給Celery任務的on_failure方法
下面是我的自定義任務類:
class ReadyTask(Task):
def run(self, user):
try:
user.get_results()
except Exception as exc:
raise self.retry(exc=exc, max_retries=3)
def on_failure(self, exc, task_id, *args, **kwargs):
user.status = Status.READY
user.save()
如何傳遞用戶對象的on_failure()
方法來更新其狀態?