You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何实现Azure Data Factory失败管道的无冲突自动重跑?

针对ADF每小时触发管道的失败自动重跑最优方案

方案一:管道级重试 + 单实例并发控制

  • 关闭所有活动的重试设置,转而在管道级配置重试:在管道的「重试」选项中设置重试次数(建议2-3次),同时将重试间隔设为大于60分钟(比如65分钟),确保重试任务不会与下一小时的计划触发重叠
  • 开启管道的单实例运行:在管道「常规」设置里,将「并发运行」限制为1。这样即使到了计划触发时间,只要上一次管道(包括重试)还在执行,新的触发请求会进入等待队列,不会同时启动多个实例,彻底避免目标锁和重复执行问题

方案二:监控驱动的重跑控制管道

  • 关闭原计划触发的自动重试逻辑,创建一个独立的控制管道:
    • 控制管道通过Get Pipeline Runs活动查询目标管道的运行状态,筛选出状态为「InProgress」的实例
    • 如果没有正在运行的实例,调用Execute Pipeline活动触发目标管道的重跑
    • 给控制管道配置事件触发:绑定ADF的「管道失败」事件,当目标管道失败时自动启动控制管道;同时设置控制管道的重试间隔(比如30分钟),直到重跑成功或达到最大重试次数

方案三:容器包裹活动+容器级重试

  • 将复制数据活动和存储过程活动用Sequence容器或Foreach循环容器(循环次数设为1)包裹
  • 在容器级别设置重试规则,同时开启管道的单实例运行:
    • 容器级重试只会针对容器内的活动失败进行重试,不会影响整个管道的并发控制
    • 单实例运行确保同一时间只有一个管道实例在执行,计划触发的新实例会自动等待上一个完成后再启动

关键注意事项

  • 所有方案都建议给存储过程添加事务控制,避免重试过程中产生脏数据
  • 方案一的配置成本最低,不需要额外创建管道,适合大多数场景

内容的提问来源于stack exchange,提问作者Eswar Polisetti

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 16:22:08