在工人重启后恢复在芹菜中运行终止任务

时间:2018-01-25 04:32:18

标签: python celery

阅读文档后;我的理解是你不能在应用程序上下文之外重新运行celery任务。 原来;我的想法是什么;一旦工人重新启动,已终止的任务将恢复运行;但事实并非如此。我目前正在使用

celery.control.terminate(task_id)

终止我的芹菜任务ID;然后我尝试运行一个同名的工人,希望我的撤销任务能够恢复并完成;它没有。做了一点研究之后;我看到一个任务可以重新使用相同的参数;我想如果我再次重新做同样的任务,它就会恢复,但事实并非如此。如何撤销任务 - 然后才能重新运行它。

我正在使用.apply_async()来启动我的任务。

1 个答案:

答案 0 :(得分:0)

使用撤销而不是终止,例如:

celery_app.control.revoke(task_id)

你也可以参考这个解决方案。

  

Cancel an already executing task with Celery?