Lanzar un Dag hijo
Ves que algunos de tus flujos de trabajo usan componentes similares y te das cuenta de que podrías separar las tareas comunes en su propio Dag. Así podrás ejecutar esos componentes cuando sea necesario sin mantener varias copias. Decides ejecutar un Dag hijo mediante una tarea dentro de tu flujo de trabajo actual.
Se han importado por ti los componentes dag, task y datetime.
Este ejercicio forma parte del curso
Introducción a Apache Airflow en Python
Instrucciones del ejercicio
- Importa el operador necesario para iniciar un Dag desde tu flujo de trabajo.
- Configura el operador para que lance el Dag llamado
child_pipeline. - Asegúrate de que el Dag padre espere a que el Dag lanzado termine antes de continuar.
- Establece cada cuánto tiempo el operador comprueba si el Dag hijo ha finalizado.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# Import TriggerDagRunOperator
from airflow.providers.standard.operators.trigger_dagrun import ____
@dag(start_date=datetime(2026, 1, 1))
def parent_orchestrator_dag():
# Trigger child_pipeline and wait for it to complete
trigger_child = TriggerDagRunOperator(
task_id="trigger_child_pipeline",
trigger_dag_id="____",
____=True,
____=30,
conf={"source": "s3://my-bucket/raw/"})
validate() >> trigger_child >> post_trigger_summary()
parent_orchestrator_dag()