SpringBoot定时任务的使用教程网络中资源挺多,这里不再详细介绍;着重聊一下细节
参数详解
cron(定时)
使用cron表达式定义任务的执行周期,需要注意使用cron配置定时任务,服务启动时不会立即执行,等到达cron配置的具体时间才会执行。
cron参数
序号 | 含义 | 是否必填 | 入参范围 | 可填通配符 |
---|---|---|---|---|
1 | 秒 | 是 | 0-59 | , - * / |
2 | 分 | 是 | 0-59 | , - * / |
3 | 时 | 是 | 0-23 | , - * / |
4 | 日 | 是 | 1-31 | , - * ? / L W |
5 | 月 | 是 | 1-12 | , - * / |
6 | 周 | 是 | 1-7(周一 ~ 周日) | 1-7 |
8 | 年 | 否 | 1970-2099 | , - * / |
通配符说明
- *:表示所有值 比如用在日 表示每一天。
- ?:表示不指定值 比如周配置 表示不指定星期几执行。
- /:表示递增触发 比如 用在分 5/20 从第5分钟开始 每增加20分钟执行一次。0/5和*/5用法相同,都表示从第0分钟开始,每增加五分钟执行一次。
- -:表示区间 比如用在 1-6 表示一月到六月执行。
fixedDelay(延迟)
fixedDelay表示上一次任务执行结束与下一次任务开始执行之间的间隔时间,单位毫秒。fixedDelay参数为long类型,如要使用String类型,官方也提供了对应的fixedDelayString参数使用。
fixedRate(间隔)
fixedDelay表示上一次任务开始时后计时,达到配置的时间之后再次执行(不考虑上一次任务执行结束时间),单位毫秒。fixedRate参数为long类型,如要使用String类型,官方也提供了对应的fixedRateString参数使用。
注意
使用cron参数,服务启动时不会立即执行一次,除非到达cron指定时间或间隔
使用fixedDelay或fixedRate参数,服务启动时会立即执行一次,再按照规定时间执行