Джанго сельдерей завершает подпроцессы задачи - PullRequest
5 голосов
/ 28 января 2012

Это дополнительный вопрос к моему предыдущему вопросу: Отменить уже выполняемое задание с помощью 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 Ответ

3 голосов
/ 28 января 2012

Попробуйте установить обратный вызов для on_revoked, который убивает дочерние процессы задачи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...