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

Quartz cron表达式中*/30是什么含义?和0/30写法有差异吗?

Quartz @Schedule 秒域*/30写法合理性说明

*/30的写法完全合法,和常规的0/30在秒域场景下执行效果完全一致,不会引发调度问题。

Cron步长语法规则

  • /是Cron表达式的步长运算符,通用语法为起始值/步长,代表从指定起始值开始,每隔固定步长触发一次
  • *在时间域中代表该域的所有合法取值,作为步长的起始值使用时,等价于取该域的最小合法值
  • 秒域的合法取值范围是0-59,最小值为0,因此*/30 完全等价于 0/30

你提供的配置解析效果

注解@Schedule(second="*/30", minute="*", hour="*", persistent=false)会被Quartz调度器解析为:每小时、每分钟的0秒、30秒各触发一次,完全符合原代码预期的每30秒执行一次的需求。

写法差异说明

日常开发中大家更习惯写0/30,主要是为了显式声明起始值,避免在其他时间域使用步长时出现歧义:比如分钟域的*/10是每小时0分、10分、20分...触发,而5/10是每小时5分、15分、25分...触发,两者效果不同。但在你当前的秒域配置场景下,两种写法没有任何差异,不需要额外修改。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 12:48:03