气流触发规则任务依赖项

尼基尔·科库拉

在下面显示的 DAG 中,d无论任务b&c是成功还是失败,我都想执行任务,但是对于任务,e如果任务bc&d是成功,则只应触发它。DAG 图像

写在下面的代码但它不起作用:

with DAG(dag_id='test_dag', default_args=args, schedule_interval=None) as dag:
   t_test = PythonOperator(task_id='test', python_callable=test)
   t_a = PythonOperator(task_id='a', python_callable=a)
   t_b = PythonOperator(task_id='b', python_callable=b)
   t_c = PythonOperator(task_id='c', python_callable=c)
   t_d = PythonOperator(task_id='d', python_callable=d, trigger_rule=TriggerRule.ALL_DONE)
   t_e = PythonOperator(task_id='e', python_callable=e, trigger_rule='all_success')
t_test >> t_a >> [t_b, t_c] >> t_d >> t_e
Oluwafemi Sule

您需要在单独的语句中对工作流树的分支进行编码。

# execute task d no matter whether tasks b & c succeeded or failed
t_test >> t_a >> [t_b, t_c] >> t_d

# execute task e if tasks b, c & d succeeded

t_e << [t_b, t_c, t_d]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章