假如我要实现在 task 运行失败后做一些事情,比如修改数据库记录的状态,可以这样实现:
-
Celery 的 Task 类的
on_failurehandler,参考: https://docs.celeryproject.org/en/stable/userguide/tasks.html#on_failure -
Celery 的 task signal 回调,参考: http://docs.celeryproject.org/en/stable/userguide/signals.html#task-failure
这两种方式都可以实现需求。请教各位,使用上是否有差异呢?该如何选择呢?
我的理解
- task signal 是与 celery app 绑定的;
Task.on_failure是与 Task 类绑定的;