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

如何指定无毫秒的固定格式AirFlow DAG run_id?

AirFlow指定无毫秒固定格式run_id的方法

AirFlow默认确实没有直接的配置项来统一设置不带毫秒的run_id格式,但可以通过以下两种方式实现需求:

  • 手动触发场景:自定义run_id模板或手动指定
    手动触发的run_id带毫秒是因为默认用了当前精确到毫秒的时间,你可以在DAG定义时通过run_id_template参数统一指定格式,强制只保留到秒级。示例代码:

    from airflow import DAG
    from datetime import datetime
    
    dag = DAG(
        dag_id="your_target_dag",
        schedule_interval="@daily",
        start_date=datetime(2023, 10, 1),
        # 用执行时间的秒级ISO格式生成run_id
        run_id_template="{{ execution_date.isoformat(timespec='seconds') }}"
    )
    

    也可以在手动触发DAG时,直接在UI里输入符合[触发类型]__YYYY-MM-DDTHH:MM:SS+00:00格式的run_id,比如manual__2023-10-24T06:30:16+00:00。

  • 全局统一场景:通过钩子或插件修改生成逻辑
    调度触发的run_id本来就不带毫秒(用的是整点调度时间),如果要让所有触发类型的run_id都统一无毫秒格式,可以借助AirFlow的钩子机制。比如在AirFlow 2.x中,使用on_dag_run_create钩子,在DAG运行创建后修改run_id,去掉毫秒部分;或者自定义插件重写run_id的生成函数,强制时间格式只保留到秒级。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 08:12:03