#airflow
#воздушный поток
Вопрос:
Я выполняю задачи (T1 и T2) параллельно. Как мне установить нисходящую задачу T3, которая зависит от успешного завершения T1 и T2
[T1,T2].set_downstream(T3)
Но, получая следующую ошибку AttributeError: объект ‘list’ не имеет атрибута ‘set_downstream’
Ответ №1:
Существует множество способов реализации зависимостей задач, зависимостей для управления чтением или просто смотрите Примеры ниже.
T1.set_downstream(T3)
T2.set_downstream(T3)
или
T3.set_upstream([T1, T2])
или
[T1, T2] >> T3
Ответ №2:
Как настроить восходящую нисходящую зависимость :
Давайте возьмем этот пример: он содержит 3 задачи, поэтому вы можете установить зависимость восходящий-нисходящий поток следующим образом :
[t1, t2] >> t3
t1 = PythonOperator(
task_id='t1',
dag=dag,
python_callable=call_me,
)
t2 = PythonOperator(
task_id='push_by_returning',
dag=dag,
python_callable=call_me_too(),
)
t3 = PythonOperator(
task_id='puller',
dag=dag,
python_callable=status_chcker,
trigger_rule="all_done"
)
[t1, t2] >> t3
Как настроить условие для запуска нисходящего задания :
trigger_rule=»all_done»
Существует несколько правил запуска, на основе которых могут запускаться нисходящие задания.
-
all_success: (по умолчанию) все родители завершились успешно
-
all_failed: все родители находятся в состоянии failed или upstream_failed
-
all_done: все родительские элементы завершены с их выполнением
-
one_failed: срабатывает, как только хотя бы один родительский элемент завершается неудачно, он не ждет, пока будут выполнены все родительские элементы
-
one_success: срабатывает, как только хотя бы один родительский элемент завершается успешно, он не ждет завершения всех родительских элементов
-
none_failed: все родители не потерпели неудачу (сбой или upstream_failed), т.Е. Все родители завершились успешно или были пропущены
-
none_skipped: ни один родительский элемент не находится в пропущенном состоянии, т.Е. Все родительские элементы находятся в состоянии success, failed или upstream_failed
-
фиктивные: зависимости только для показа, запускаются по желанию