Tarefa de celery que executa mais tarefas
Estou usando o aipo para iniciar uma tarefa principal que inicia várias tarefas secundárias. Eu já tenho as duas tarefas escritas.
Existe uma maneira de fazer isso facilmente? O Aipo permite que as tarefas sejam executadas de dentro das tarefas?
Meu exemplo:
@task
def compute(users=None):
if users is None:
users = User.objects.all()
tasks = []
for user in users:
tasks.append(compute_for_user.subtask((user.id,)))
job = TaskSet(tasks)
job.apply_async() # raises a IOError: Socket closed
@task
def compute_for_user(user_id):
#do some stuff
compute
é chamado a partir de aipo, mas causa um IOError quando tenta executarapply_async
. Alguma ideia