Чтобы ответить на ваши начальные вопросы: Начиная с версии 2.0, Celery предоставляет простой способ запуска задач из других задач. То, что вы называете «второстепенными задачами», это то, что называется «подзадачами». См. Документацию для Наборов задач, подзадач и обратных вызовов , на которые @Paperino был достаточно любезен для ссылки.
Для версии 3.0, Celery изменен на использование групп для этого и других типов поведения.
Ваш код показывает, что вы уже знакомы с этим интерфейсом. Похоже, что ваш настоящий вопрос звучит так: «Почему я получаю« Socket Closed »IOError
, когда пытаюсь запустить свой набор подзадач?» Я не думаю, что кто-то может ответить на этот вопрос, потому что вы не предоставили достаточно информации о своей программе. Ваш отрывок не может быть запущен как есть, поэтому мы не можем исследовать проблему, с которой вы столкнулись. Пожалуйста, опубликуйте трассировку стека, поставляемую с IOError
, и, если вам повезет, придет кто-то, кто может помочь вам с вашим сбоем.