python - django celery 终止任务的子进程

标签 python django subprocess task celery

这是我之前问题的后续问题: 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/

相关文章:

python - 如何使用 Python 进行简单的 http 重定向?

python - Django 测试中 TestCase 和 TransactionTestCase 类的区别

python - HTML 电子邮件将外部样式表转换为内联样式

python - docker compose Django nginx

python - 如何从 Python subprocess.check_output() 捕获异常输出?

python - 如何在 Python 中停止 airodump-ng 子进程?

python - Pandas :Concat 意外添加一行

python - 如何在 Django 中获取具有反向关系的所有类的集合?

python - django 正则表达式只匹配字母数字而不是下划线

python - 在python脚本中调用bash配置文件来设置环境变量