Einen Child-Dag auslösen
Du stellst fest, dass einige deiner Workflows ähnliche Komponenten verwenden, und erkennst, dass du gemeinsame Aufgaben in einen eigenen Dag auslagern könntest. So kannst du diese Komponenten bei Bedarf ausführen, ohne mehrere Kopien zu pflegen. Du entscheidest dich, einen Child-Dag über eine Aufgabe innerhalb deines aktuellen Workflows auszuführen.
Die Komponenten dag, task und datetime wurden für dich importiert.
Diese Übung ist Teil des Kurses
<Kurs>Einführung in Apache Airflow mit Python</Kurs>Übungsanweisungen
- Importiere den Operator, der benötigt wird, um einen Dag aus deinem Workflow zu starten.
- Setze den Operator so, dass der Dag mit dem Namen
child_pipelineausgelöst wird. - Stelle sicher, dass der Parent-Dag wartet, bis der ausgelöste Dag abgeschlossen ist, bevor er fortfährt.
- Lege fest, wie häufig der Operator prüft, ob der Child-Dag fertig ist.
Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
# 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()