Airflow 如何跳过气流中的任务而不跳过其下游任务?

Airflow 如何跳过气流中的任务而不跳过其下游任务?,airflow,airflow-scheduler,directed-acyclic-graphs,airflow-operator,Airflow,Airflow Scheduler,Directed Acyclic Graphs,Airflow Operator,假设这是我的dag: A>>B>>C 如果任务B引发异常,我希望跳过该任务,而不是使其失败。然而,我不想跳过任务C。我研究了AirflowSkipException和soft_fail sensor,但它们都强制跳过下游任务。有人有办法做到这一点吗 谢谢 您可以更改任务声明中的触发规则 task=bash运算符( task\u id=“task\u C”, bash_command=“echo hello world”, 触发规则=“全部完成”, dag=dag ) 您可以参考上的气流文档 触发

假设这是我的dag: A>>B>>C

如果任务B引发异常,我希望跳过该任务,而不是使其失败。然而,我不想跳过任务C。我研究了AirflowSkipException和soft_fail sensor,但它们都强制跳过下游任务。有人有办法做到这一点吗


谢谢

您可以更改任务声明中的
触发规则

task=bash运算符(
task\u id=“task\u C”,
bash_command=“echo hello world”,
触发规则=“全部完成”,
dag=dag
)

您可以参考上的气流文档

触发规则
允许您配置任务的执行依赖项。通常,当所有上游任务成功时执行任务。你可以换成其他的。
all_failed
触发器规则仅在所有上游任务失败时执行任务,这将完成您概述的任务

从日期时间导入日期时间
从airflow.models导入DAG
从afflow.operators.python_operator导入PythonOperator
从airflow.utils.trigger\u规则导入TriggerRule
与达格(
dag_id=“my_dag”,
开始日期=日期时间(2021,4,5),
计划时间间隔=“@once”,
)作为dag:
p=蟒蛇算子(
任务\u id='fail\u task',
python_callable=lambda x:1,
) 
t=蟒蛇算子(
task\u id='run\u task',
python_callable=lambda:1,
trigger\u rule=TriggerRule.ALL\u失败
)
p>>t