Spring Scheduler 和 Quartz都支持CRON来定义调度周期。
CRON表达式由「空格」分割的6部分组成,分别描述「秒、分、时、天、月、周」。
每部分可以用「星号(*)、数字(0~9)、斜线(/)、逗号(,)、横线(-)」表示,月 和 周还可以用前3个英文字母。
- 数字(0~9):
- 星号(*):所有取值范围的数字
- 斜线(/):代表每,*/5 即每5个单位
- 逗号(,):几个离散的数字
- 横线(-):连续的数字
例子:
- “0 0 * * * *” = 每天每个小时的整点
- “*/10 * * * * *” = 每10秒钟
- “0 0 8-10 * * *” = 每天的8,9,10整点
- “0 0 6,19 * * *” = 每天的6点和19点两个整点
- “0 0/30 8-10 * * *” = 每天的8:00, 8:30, 9:00, 9:30, 10:00 和 10:30
- “0 0 9-17 * * MON-FRI” = 周一到周五每天的9~17点整点
- “0 0 0 25 12 ?” = 每个圣诞夜0点