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

Airflow是否存在支持多个cron表达式组合的Timetable实现?

多Cron表达式适配的Timetable现成实现情况
  • Airflow 2.4.0及以上的官方版本,已经内置了可直接接收cron表达式列表的Timetable实现,类名为CronTriggerTimetable,无需安装任何第三方依赖即可使用。
  • 基础使用示例代码如下:
from airflow import DAG
from airflow.timetables.trigger import CronTriggerTimetable
from datetime import datetime

with DAG(
    dag_id="multi_cron_schedule_dag",
    start_date=datetime(2024, 1, 1),
    # 直接传入cron表达式列表即可,同时指定统一时区
    timetable=CronTriggerTimetable(
        ["0 9 * * 1-5", "0 10 * * 6,7"],
        timezone="Asia/Shanghai"
    ),
    catchup=False
):
    # 编写DAG任务逻辑
    pass
  • 如果你使用的是2.2.x、2.3.x版本的Airflow,官方没有内置对应能力,也没有通用稳定的第三方现成Timetable实现可以直接复用。这种场景建议优先升级Airflow到2.4及以上版本使用官方原生能力,如果暂时无法升级,可以自行实现自定义Timetable,核心逻辑为逐个解析传入的cron表达式,计算各表达式对应的调度时间点,合并去重后按时间排序,取最近的时间点作为下一次调度时间即可。
  • 使用注意事项:传入的所有cron表达式必须和Timetable指定的时区保持一致,否则会出现调度时间计算偏移的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.03 04:57:26