这是我之前问题的后续问题: Cancel an already executing task with Celery?
celery.task.control.revoke({task_id}, terminate=True)
确实杀死了我运行任务的 worker 。我现在遇到的问题是我的任务正在运行的子进程在任务被撤销时不会终止。
dmarkey 发表的这篇文章 http://dmarkey.com/wordpress/2011/09/07/killing-child-processes-of-celery-tasks-on-a-timeout/ 是我见过的最接近我想做的事情,除了我不想在超时时杀死,而是当我用 task_id 撤销()时。
似乎我只有 (String) task_id,有没有办法杀死这样的子进程?感谢您的帮助 - 我在这方面的经验并不多,浏览文档是一项挑战!
最佳答案
尝试为 on_revoked
设置回调杀死任务的子进程。
关于python - django celery 终止任务的子进程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9040264/