Cómo iniciar una tarea solo cuando todas las demás tareas hayan terminado en Apio

En Celery, quiero comenzar una tarea solo cuando todas las demás tareas se hayan completado. Encontré algunos recursos como este:Apio que inicia una tarea cuando otras tareas se han completado yEjecutar una tarea después de completar todas las tareas Pero soy bastante nuevo en el apio y realmente no podría entender lo anterior (o muchos otros recursos para el caso).

Así que he definido una tarea como tal en untask.py:

@celapp.task()
def sampleFun(arg1, arg2, arg3):
    # do something here

y lo llamo así:

for x in xrange(4):    
   tasks.sampleFun.delay(val1, val2, val3)

Y supongo que habría 4 tareas diferentes creadas. Esto realmente sucede ya que puedo ver lo mismo en la interfaz web deFlor de apio.

Ahora lo que me gustaría hacer es agregar otra tarea. Decirtarea final eso debería comenzar solo una vez que las 4 tareas anteriores hayan completado su ejecución.

También leí algunos documentos sobregrupos y acordes en Apio pero dice que si quiero hacerlo, necesito agrupar mis tareas para que se ejecuten en paralelo. No quiero hacer eso. (Puede ser una buena idea, pero en este momento mi objetivo es ser capaz de entender las cosas. Así que no estoy realmente enfocado en el rendimiento, etc. en este momento)

¿Como hacer esto? Otra pregunta más básica que puede sonar bastante estúpida es: cuando decimostasks.sampleFun.delay ¿crea tareas asincrónicas o no?

Respuestas a la pregunta(0)

Su respuesta a la pregunta