我正在创建一个自定义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()
方法来更新其状态?