Запуск дочірнього Dag
Ви помічаєте, що деякі ваші робочі процеси використовують подібні компоненти, і розумієте, що можна виділити спільні завдання в окремий Dag. Це дасть змогу запускати ці компоненти за потреби без підтримки кількох копій. Ви вирішуєте виконати дочірній Dag через завдання у вашому поточному робочому процесі.
Компоненти dag, task і datetime вже імпортовано для вас.
Ця вправа є частиною курсу
Вступ до Apache Airflow на Python
Інструкції до вправи
- Імпортуйте оператор, потрібний для запуску Dag зсередини вашого робочого процесу.
- Налаштуйте оператор так, щоб він запускав Dag з назвою
child_pipeline. - Переконайтеся, що батьківський Dag чекає завершення запущеного Dag, перш ніж продовжити.
- Вкажіть, як часто оператор перевіряє, чи завершився дочірній Dag.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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()