【问题标题】:Skip the remaining tasks within airflow Dag if s3senors is not able to find the file如果 s3senors 无法找到文件,则跳过气流 Dag 中的剩余任务
【发布时间】:2021-11-12 23:19:36
【问题描述】:

如果 s3sensor 操作员无法在 s3 位置找到文件,我是否可以跳过 dag 中的剩余任务。

我知道我们可以使用短路算子来跳过任务,但我正在寻找一种可以将短路算子和 s3sensor 算子集成在一起的方法。如果没有,那么还有其他方法可以实现吗?提前谢谢你

【问题讨论】:

    标签: airflow airflow-2.x


    【解决方案1】:

    假设您的意思是当您说“无法在 s3 位置找到文件”时传感器操作员因超时而失败,则有一种隐式方法可以通过 Airflow Scheduler 处理此问题。

    您可以使用从BaseSensorOperator 继承的所有传感器操作员可用的soft_fail 参数(所有S3 传感器都这样做)。如果soft_fail 设置为 True,则当传感器超时失败时,传感器操作符将设置为“跳过”状态,而不是设置为“失败”状态。

    如果下游任务没有trigger_rule 允许它们在上游任务设置为“跳过”时执行(默认trigger_rule 是“all_success”——更多关于触发规则here),调度程序也会将下游任务标记为“已跳过”。这将继续沿 DAG 传播。

    基本上,调度程序查看下游任务的trigger_rule 并发现它们不应该运行,因为上游任务被“跳过”,然后随后跳过这些任务。

    【讨论】:

      猜你喜欢
      • 2021-07-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-13
      • 2017-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多