我计划使用 celery 作为我的项目的任务管理组件。它几乎具有我的项目所需的所有功能。我将有一组可以独立执行或按指定顺序执行的任务。在顺序任务中,我希望能够在中间任务之一失败时执行清理/回滚。我想知道 celery 中是否有一个开箱即用的功能可以执行相同的操作,或者是否有任何可用的解决方法。
最佳答案
Celery 不支持任何类似于回滚的功能。您的任务应该是小的原子步骤,中间步骤不应损坏您的数据库。
如果您需要恢复更改,您可以创建执行相反操作的任务,并在 celery 重试执行其中一项任务时调用它。
关于celery - Celery 中的回滚支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23791327/