Airflow 气流-在不杀死DAG的情况下超时任务
我想使用Airflow 气流-在不杀死DAG的情况下超时任务,airflow,Airflow,我想使用execution\u timeout为我的BashOperator设置一个特定的超时,但我注意到它会引发AirflowTaskTimeout 我要寻找的是在超时的情况下执行特定的行为,然后从下一个任务继续DAG。我可以使用bashtimeout,但我正在寻找相同功能的内部气流支持 气流是否支持这一点?气流的概念是。您可以将trigger\u rule=one\u failed或trigger\u rule=all\u done传递到下一个任务。您可以有两个直接依赖于第一个任务的任务 例
execution\u timeout
为我的BashOperator
设置一个特定的超时,但我注意到它会引发AirflowTaskTimeout
我要寻找的是在超时的情况下执行特定的行为,然后从下一个任务继续DAG。我可以使用bashtimeout
,但我正在寻找相同功能的内部气流支持
气流是否支持这一点?气流的概念是。您可以将trigger\u rule=one\u failed
或trigger\u rule=all\u done
传递到下一个任务。您可以有两个直接依赖于第一个任务的任务
例如:
task_a >> task_b (trigger_rule='all_success') >> task_d (trigger_rule='one_success')
task_a >> task_c (trigger_rule='all_failed') >> task_d (trigger_rule='one_success')
从文档中:
所有运算符都有一个trigger\u rule
参数,用于定义触发生成任务的规则。trigger_rule
的默认值为all_success
,可以定义为“当所有直接上游任务都成功时触发此任务”。此处描述的所有其他规则均基于直接父任务,是创建任务时可传递给任何操作员的值:
:(默认)所有父项都已成功all_success
:所有父级都处于失败或上游_失败状态all_failed
:所有父项都已执行完毕all_done
:在至少一个父级出现故障时立即激发,它不会等待所有父级都完成one_failed
:在至少一个父级成功时触发,它不会等待所有父级都完成one_success
:所有父级均未失败(失败或上游\u失败),即所有父级均已成功或被跳过none\u failed
:依赖项只是为了显示,随意触发dummy
trigger\u rule=one\u failed
或trigger\u rule=all\u done
传递到下一个任务。您可以有两个直接依赖于第一个任务的任务
例如:
task_a >> task_b (trigger_rule='all_success') >> task_d (trigger_rule='one_success')
task_a >> task_c (trigger_rule='all_failed') >> task_d (trigger_rule='one_success')
从文档中:
所有运算符都有一个trigger\u rule
参数,用于定义触发生成任务的规则。trigger_rule
的默认值为all_success
,可以定义为“当所有直接上游任务都成功时触发此任务”。此处描述的所有其他规则均基于直接父任务,是创建任务时可传递给任何操作员的值:
:(默认)所有父项都已成功all_success
:所有父级都处于失败或上游_失败状态all_failed
:所有父项都已执行完毕all_done
:在至少一个父级出现故障时立即激发,它不会等待所有父级都完成one_failed
:在至少一个父级成功时触发,它不会等待所有父级都完成one_success
:所有父级均未失败(失败或上游\u失败),即所有父级均已成功或被跳过none\u failed
:依赖项只是为了显示,随意触发dummy