Spuštění podřízeného dagu
Všimneš si, že některé tvoje workflows sdílejí podobné komponenty, a uvědomíš si, že společné úlohy by bylo lepší vyčlenit do samostatného dagu. To ti umožní spouštět tyto komponenty podle potřeby, aniž by ses musel/a starat o údržbu více kopií. Rozhodneš se proto spustit podřízený dag pomocí úlohy v rámci aktuálního workflow.
Komponenty dag, task a datetime jsou už naimportované.
Toto cvičení je součástí kurzu
Úvod do Apache Airflow v Pythonu
Pokyny k cvičení
- Naimportuj operátor potřebný ke spuštění dagu z tvého workflow.
- Nastav operátor tak, aby spouštěl dag s názvem
child_pipeline. - Zajisti, aby nadřazený dag čekal na dokončení spuštěného dagu, než bude pokračovat.
- Nastav, jak často má operátor kontrolovat, zda podřízený dag skončil.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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()