ADF失败任务重跑及依赖工作流容错实现方案咨询
Azure Data Factory 相关问题解答
问题1:特定任务运行失败时的重新触发方法
- 手动精准重跑:在ADF门户的管道运行历史页面,定位到失败的任务或管道实例,选择「重新运行」,可指定仅重跑失败的单个活动,或从失败活动开始重跑后续全流程。
- 活动自动重试配置:针对易失败的活动(如Databricks Notebook、Execute Pipeline),在活动的「重试」设置中,配置重试次数与间隔时间。活动首次失败后,ADF会自动按设定重试,无需人工介入。
- 失败触发式管道:创建专用错误处理管道,通过「失败活动触发器」关联目标任务/管道。当目标任务失败时,触发器自动启动错误处理管道,在其中加入重跑目标任务的逻辑(如调用原管道并指定从失败节点开始)。
- API/脚本自动化重跑:通过ADF REST API(如
Pipelines Create Run接口)或Azure SDK编写监控脚本,实时检测任务运行状态,一旦发现失败,自动调用接口触发重跑。
问题2:确保campaign_inseason不受其他模型任务失败影响的实现方式
针对你提到的工作流依赖场景,可通过以下三种方式实现campaign_inseason的独立执行:
- 修改依赖条件为「完成即触发」:选中campaign_inseason的前置活动(如grower_churn_notebook对应的Execute Pipeline),在右侧「依赖」设置中,将触发条件从默认的「成功」改为「完成」。无论前置活动成功或失败,只要执行完成,campaign_inseason就会启动。
- 拆分并行独立分支:若campaign_inseason不需要前置模型任务的输出,可在管道设计器中将其设为独立并行分支,与其他模型任务分支同时触发,互相不干扰。若需要部分前置输出,仅依赖必要的成功任务即可,无关失败任务不影响其执行。
- Try-Catch容器包裹易失败任务:用ADF的「Try Catch活动」包裹grower_churn_notebook这类易失败任务:Try容器放置目标任务,Catch容器添加错误日志等处理逻辑;让campaign_inseason依赖于Try Catch容器的「完成」状态,无论Try内任务成败,Catch执行完成后,campaign_inseason都会正常运行。
内容的提问来源于stack exchange,提问作者Anubhav sharma
相关产品推荐
相关产品推荐

