Déclencher un Dag enfant
Vous remarquez que certains de vos flux de travail utilisent des composants similaires et réalisez que vous pourriez extraire les tâches communes dans leur propre Dag. Cela vous permettrait d'exécuter ces composants au besoin sans entretenir plusieurs copies. Vous décidez d'exécuter un Dag enfant au moyen d'une tâche au sein de votre flux de travail actuel.
Les composants dag, task et datetime ont été importés pour vous.
Cette activité fait partie du cours
Introduction à Apache Airflow en Python
Instructions de l’exercice
- Importez l'opérateur nécessaire pour démarrer un Dag à partir de votre flux de travail.
- 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 ce code d’exemple.
# 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()