我使用 celery 3 与 django 和flower 来监控任务。
有没有办法,如果
- 我的任务失败
- 然后我在代码中进行一些修复
- 然后我获取任务 ID,然后重新启动该任务
可以吗
或者甚至是手动将任何失败的任务放入另一个队列中的方法,以便在修复其原因后可以再次处理它
最佳答案
有点 hack,但对我有用的是创建一个具有相同任务 ID 的新任务实例。例如,ID 为“abc”的任务运行并失败。然后我通过运行“重新启动”任务:
my_task.apply_async(args=('whatever'), task_id='abc')
实际上,这与其说是“重新启动”,不如说只是替换原始任务结果,但它完成了工作。绝对愿意在这里接受更好的建议,因为它确实感觉有点笨拙。
关于python - 是否可以手动重启 celery 任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36974773/