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

Azure Databricks中每两周调度作业的Cron表达式正确性验证

你的Cron表达式不正确,原因及解决方案如下

问题分析

你写的Cron表达式0 30 0 22/14 * ?存在逻辑错误:

  • Cron的日字段22/14的规则是每个月从22日开始,每隔14天触发一次,它是基于每月的日期计算,不是跨月的固定14天间隔。
  • 按这个表达式,第一次触发是3月22日(早于你需要的3月24日),下一次是3月22+14=36日,即4月5日,和你预期的4月7日不符;后续还会出现5月22日、6月5日等完全偏离周期的日期,无法满足你要的每14天一次的跨月调度需求。

正确的实现方式

方案1:使用Databricks原生的间隔调度(推荐)

Databricks作业调度支持直接设置固定天数间隔,无需编写Cron:

  • 在作业调度设置中选择「Recurring」模式
  • 选择「Every N days」,设置N=14
  • 指定起始日期为2022-03-24,运行时间设为00:30
  • 这种方式会严格按照起始日期每14天触发一次,自动处理跨月逻辑,完全符合你的需求。

方案2:替代Cron写法(不推荐)

Cron原生不支持跨月的固定天数间隔,若必须用Cron,只能枚举所有符合周期的日期,但这显然不具备可扩展性。例如针对你列出的几个日期,临时写法会是:

0 30 0 24,7,21,5 * ?

但后续日期需要持续手动添加,非常繁琐,因此不建议使用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 04:57:02