跳到正文
cron.surf

Quartz cron 定时任务

Quartz CronTrigger 使用六或七个字段,秒在最前,周日是 1,一个日期字段写 ?。 选择一个调度,查看精确表达式、可直接粘贴的配置和接下来的运行时间。

调度

Quartz 的坑

一个日期字段必须是 ?Quartz 不支持同时设置日和星期。不用的那个写 ?。
周日是 1星期是 1-7,从 SUN 开始,所以 2-6 是周一到周五。crontab 的 1-5 在这里意思不同。
Misfire到点时调度器没在运行,由 misfire 策略决定怎么处理。默认是尽快补触发一次。
年份可选第七个字段限制年份。不写就是每年。

与 Quartz 互转

常见问题

Quartz 的定时任务按哪个时区运行?

按 JVM 默认时区,除非在 CronScheduleBuilder 上调用 inTimeZone()。

Quartz cron 和 Spring cron 一样吗?

不一样。两者都以秒开头,但 Quartz 周日是 1,且一个日期字段必须写 ?;Spring 周日是 0,没有年字段。

Quartz 里的 L 是什么意思?

在日字段里 L 是每月最后一天;在星期字段里 6L 是最后一个周五,单独的 L 表示周六。