Trigga en barn-DAG
Du märker att vissa av dina arbetsflöden använder liknande komponenter och inser att du kan bryta ut gemensamma uppgifter till egna DAG:ar. Det gör att du kan köra dessa komponenter vid behov utan att behöva underhålla flera kopior. Du bestämmer dig för att köra en barn-DAG via en uppgift i ditt nuvarande arbetsflöde.
Komponenterna dag, task och datetime har redan importerats åt dig.
Den här övningen är en del av kursen
Introduktion till Apache Airflow i Python
Övningsinstruktioner
- Importera den operator som behövs för att starta en DAG inifrån ditt arbetsflöde.
- Ställ in operatorn så att den triggar den DAG som heter
child_pipeline. - Se till att förälder-DAG:en väntar på att den triggade DAG:en ska slutföras innan den fortsätter.
- Ange hur ofta operatorn kontrollerar om barn-DAG:en är klar.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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()