Ответ 1
Вы можете добиться этого поведения с помощью оператора ExternalTaskSensor. Ваша задача (B1) в DAG (B) будет запланирована и будет ждать успеха в выполнении задачи (A2) в DAG (A)
Я использую Airflow для планирования пакетных заданий. У меня есть один DAG (A), который запускается каждую ночь и другой DAG (B), который выполняется один раз в месяц. B зависит от успешного завершения A. Однако B занимает много времени, поэтому я хотел бы сохранить его в отдельной DAG, чтобы обеспечить лучшую отчетность по SLA.
Как я могу запустить DAG B в зависимости от успешного запуска DAG A в тот же день?
Вы можете добиться этого поведения с помощью оператора ExternalTaskSensor. Ваша задача (B1) в DAG (B) будет запланирована и будет ждать успеха в выполнении задачи (A2) в DAG (A)
Похоже, что TriggerDagRunOperator также может использоваться, и вы можете использовать python для добавления некоторой логики. Как поясняется здесь: https://www.linkedin.com/pulse/airflow-lesson-1-triggerdagrunoperator-siddharth-anand