django celery终止任务的子进程

时间:2012-01-27 21:22:28

标签: python django subprocess task celery

这是我上一个问题的后续问题: Cancel an already executing task with Celery?

celery.task.control.revoke({task_id}, terminate=True) 

确实会杀死我的工作人员。我现在遇到的问题是我的任务正在运行在撤销任务时不会死的子进程。

dmarkey的这篇文章 http://dmarkey.com/wordpress/2011/09/07/killing-child-processes-of-celery-tasks-on-a-timeout/ 是我最接近我想要做的事情,除了我不想在超时时杀死,而是当我用task_id撤销()时。

看来我所有的都是(String)task_id,无论如何都要杀死这些子进程?感谢您的帮助 - 我没有那么多经验,导航文档是一个挑战!

1 个答案:

答案 0 :(得分:3)

尝试设置on_revoked的回调,以终止任务的子进程。