/ / django apio terminar los subprocesos de tareas - python, django, subprocess, task, apio

subprocesos de tareas de terminación de django apio - python, django, subproceso, tareas, apio

Esta es una pregunta de seguimiento a mi pregunta anterior: ¿Cancelar una tarea ya en ejecución con Celery?

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

de hecho mata a mi trabajador ejecutando la tarea. Ahora tengo el problema de que mi tarea está ejecutando subprocesos que no mueren cuando se revoca la tarea.

Este post por dmarkey http://dmarkey.com/wordpress/2011/09/07/killing-child-processes-of-celery-tasks-on-a-timeout/ es lo más cercano que he visto a lo que quiero hacer, excepto que no quiero matar en el tiempo de espera, sino más bien cuando revoco () con el task_id.

Pareciendo que todo lo que tengo es el task_id (String),¿Hay alguna forma de matar a tales subprocesos? Gracias por su ayuda. No tengo tanta experiencia con esto como me gustaría, ¡navegar por los documentos es un desafío!

Respuestas

3 para la respuesta № 1

Intente establecer una devolución de llamada para on_revoked Eso mata los procesos secundarios de la tarea.