Airflow 在气流中实现分支

Airflow 在气流中实现分支,airflow,airflow-operator,Airflow,Airflow Operator,我正在尝试向我的气流DAG添加警报。DAG有多个任务,有些任务多达15个。 我想执行一个bash脚本(所有dag的通用脚本),以防任何一点上的任务失败。 例如,dag具有任务T1到T5,如T1>>T2>>T3>>T4>>T5。 如果其中任何一个失败,我想触发任务A(表示警报) 在任务层次结构方面,任何人都可以帮助我,这将非常有帮助。在我看来,您有两个选择:失败回调和触发规则 成功/失败回调 气流任务实例有一个在失败或成功的情况下应该做什么的概念。这些回调将在任务达到特定状态时运行。。。以下是您的

我正在尝试向我的气流DAG添加警报。DAG有多个任务,有些任务多达15个。 我想执行一个bash脚本(所有dag的通用脚本),以防任何一点上的任务失败。 例如,dag具有任务T1到T5,如
T1>>T2>>T3>>T4>>T5
。 如果其中任何一个失败,我想触发任务A(表示警报)


在任务层次结构方面,任何人都可以帮助我,这将非常有帮助。

在我看来,您有两个选择:失败回调和触发规则

成功/失败回调 气流任务实例有一个在失败或成功的情况下应该做什么的概念。这些回调将在任务达到特定状态时运行。。。以下是您的选择:

。。。
在\失败\回调=无时,
成功时,回调=无,
在\u重试\u回调时=无
...
触发规则 气流任务实例有一个概念,即它们的状态是什么。这意味着你的主要分支机构可以保持现状。您可以使用T1中的A在需要的地方进行分支,如下所示:

来自afflow.utils.trigger\u规则导入TriggerRule
T1>>Dummy操作器(
dag=dag,
task\u id=“task\u a”,
trigger\u rule=TriggerRule.ALL\u失败
)
或者,您可以构建您的分支并将其包括为:

来自afflow.utils.trigger\u规则导入TriggerRule
[T1,T2,T3,…]>>Dummy操作器(
dag=dag,
task\u id=“task\u a”,
trigger\u rule=TriggerRule.ONE\u失败
)