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

如何配置管道触发日期参数,实现失败任务按原日期重跑?

解决管道重跑时运行日期参数的问题

核心思路

别再用utcnow()了,改用触发器的计划执行时间变量——这个变量在重跑时会保留原触发的日期,而非取当前时间,逻辑和Airflow里的execution_date完全一致,刚好匹配你的需求。

具体实现步骤

1. 针对调度触发器(自动定时跑)

不需要额外加参数,直接用系统自带的触发器上下文变量:

  • 直接获取计划时间:
@trigger().scheduledTime
  • 转成你需要的日期格式(比如只取年月日):
@formatDateTime(trigger().scheduledTime, 'yyyy-MM-dd')

重跑时这个变量会返回原计划触发的时间,不会变成重跑当天的日期。

2. 针对手动触发器(需要手动指定日期)

  • 先在触发器的「参数」里新增一个参数,比如runDate,类型选字符串,格式设为yyyy-MM-dd;
  • 管道里直接引用这个参数:
@pipeline().parameters.runDate

手动触发时输入目标日期,重跑时这个参数会保留你第一次输入的值,不会自动替换成当前日期。

3. 替换原有逻辑

把管道里所有用utcnow()获取运行日期的地方,替换成上面的变量或参数即可。

额外提示

如果用的是Azure Data Factory,建议先在管道的「参数」里定义一个runDate参数,再把触发器的变量/参数传递给它,这样管道里统一用@pipeline().parameters.runDate,后续调整会更灵活。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 16:01:02