Déclencher un Dag enfant
Vous remarquez que certains de vos workflows utilisent des composants similaires et comprenez que vous pourriez extraire les tâches communes dans leur propre Dag. Cela vous permettra d’exécuter ces composants au besoin sans maintenir plusieurs copies. Vous décidez d’exécuter un Dag enfant via une tâche au sein de votre workflow actuel.
Les composants dag, task et datetime ont été importés pour vous.
Cet exercice fait partie du cours
Introduction à Apache Airflow en Python
Instructions
- Importez l’opérateur nécessaire pour démarrer un Dag depuis votre workflow.
- Configurez l’opérateur pour déclencher le Dag nommé
child_pipeline. - Assurez-vous que le Dag parent attend la fin du Dag déclenché avant de continuer.
- Définissez la fréquence à laquelle l’opérateur vérifie si le Dag enfant est terminé.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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()