Airflow 打破气流中传播到下游的跳过状态
我有以下场景/DAGAirflow 打破气流中传播到下游的跳过状态,airflow,airflow-operator,Airflow,Airflow Operator,我有以下场景/DAG |----->Task1----| |---->Task3---| start task-->| |-->Merge Task --->| | ----->End Task |----->Task2----| |---->Task4---| 当前,Task
|----->Task1----| |---->Task3---|
start task-->| |-->Merge Task --->| | ----->End Task
|----->Task2----| |---->Task4---|
当前,Task、Task2、Task3和Task4是ShortCircuitOperators,当Task1和Task2中的一个短接时,将跳过所有下游任务
但我的要求是在合并任务时,打破传播到Task3和Task4的跳过状态。
因为我希望无论上游发生什么情况,都能运行任务3和任务4。
有什么办法可以做到这一点吗。?我希望按照DAG中的描述/显示将依赖项放置到位。是的可以实现
- 不要使用,而是使用(在
PythonOperator中)跳过任务(有条件地执行任务/分支)
- 您可能可以使用
- 但是
显然不符合most。引用这一行与链接中的问题非常相似 。。。当ShortCircuitOperator跳过其中一个上游时 此任务也会被跳过。我不想跳过最后的任务 因为它必须报告DAG的成功 为了避免被跳过,我使用了trigger\u rule='all\u done',但是 仍然会被跳过 如果我使用BranchPythonOperator而不是ShortCircuitOperator final 任务未被跳过ShortCircuitOperator
- 此外,do警告我们这一点(这确实是
的预期行为) 它会评估一个条件,如果条件为False,则会中断工作流。任何下游任务都标记为状态 “跳过”的定义ShortCircuitOperator
- 对于您(可能)跳过的任务的下游任务,请使用不同的
- 因此,不要使用默认的
,而是使用类似all_success
或none_failed
(取决于您的要求)all_done
是可以实现
- 不要使用,而是使用(在
PythonOperator中)跳过任务(有条件地执行任务/分支)
- 您可能可以使用
- 但是
显然不符合most。引用这一行与链接中的问题非常相似 。。。当ShortCircuitOperator跳过其中一个上游时 此任务也会被跳过。我不想跳过最后的任务 因为它必须报告DAG的成功 为了避免被跳过,我使用了trigger\u rule='all\u done',但是 仍然会被跳过 如果我使用BranchPythonOperator而不是ShortCircuitOperator final 任务未被跳过ShortCircuitOperator
- 此外,do警告我们这一点(这确实是
的预期行为) 它会评估一个条件,如果条件为False,则会中断工作流。任何下游任务都标记为状态 “跳过”的定义ShortCircuitOperator
- 对于您(可能)跳过的任务的下游任务,请使用不同的
- 因此,不要使用默认的
,而是使用类似all_success
或none_failed
(取决于您的要求)all_done
我试图了解气流在哪里为所有dag下游任务设置“跳过”状态。我在skipmixin.py中看到了代码,看起来它正在为直接下游任务设置“跳过”状态。我是否可以创建一个自定义ShortCircuit运算符,该运算符不会根据任务id模式或运算符类型将“跳过”状态传播/标记到一组任务中?我试图了解气流在哪里为所有dag下游任务设置“跳过”状态。我在skipmixin.py中看到了代码,看起来它正在为直接下游任务设置“跳过”状态。我是否可以创建一个自定义ShortCircuitOperator,它不会根据任务id模式或运算符类型将“跳过”状态传播/标记到一组任务中?