SpringBoot定时任务的使用教程网络中资源挺多,这里不再详细介绍;着重聊一下细节
使用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 | , - * / |
fixedDelay表示上一次任务执行结束与下一次任务开始执行之间的间隔时间,单位毫秒。fixedDelay参数为long类型,如要使用String类型,官方也提供了对应的fixedDelayString参数使用。
fixedDelay表示上一次任务开始时后计时,达到配置的时间之后再次执行(不考虑上一次任务执行结束时间),单位毫秒。fixedRate参数为long类型,如要使用String类型,官方也提供了对应的fixedRateString参数使用。
使用cron参数,服务启动时不会立即执行一次,除非到达cron指定时间或间隔
使用fixedDelay或fixedRate参数,服务启动时会立即执行一次,再按照规定时间执行