airflow - Apache Airflow 忽略失败的任务
问题描述
假设 2 次重试后,有没有办法忽略失败的任务并继续下一步?
例子;
t1= SomeOperator(...)
t2= SomeOperator(...)
t2.set_upstream(t1)
# if t1 fails re-try 2 times and proceed to t2
# else if t1 success then proceed to t2 as usual
解决方案
看看气流触发规则。
默认情况下,每个任务的触发规则是'all_success'
,这意味着该任务只有在所有直接上游任务都成功后才会执行。
您在这里需要的是触发规则'all_done'
,这意味着所有直接上游任务都已完成,无论它们是失败还是成功。
但是要小心,因为这也意味着如果一个不是直接上游的任务失败,并且该任务之后的任务被标记为'upstream_failed'
,具有此触发规则的任务仍将被执行。
因此,在您的情况下,您必须retries=2
为 t1 和trigger_rule='all_done'
t2 设置。
推荐阅读
- python - 如何根据原始图像和去噪图像获得噪声?
- php - php中的mongodb批量查找和删除操作
- javascript - angular/javascript 解析并仅获取 paramMap 的值
- excel - 在一个电源查询上创建多个表/数据透视
- cucumber - 如果 Serenity Cucumber 出现错误,设置所有步骤通过
- ruby-on-rails - 错误:ITEM_TOTAL_MISMATCH - 使用 paypal express 订购多个商品时
- python - 使用 Selenium Python 单击表的所有链接
- javascript - 如何减少 GridStack 网格元素的最小高度和重量?
- android - 更改应用程序语言无法正常工作 (Kotlin)
- android - isGestureDetectionAvailable 在 Android 10 上返回 false