Spring Boot 中如何实现定时任务 ?
定时任务也是一个常见的需求,Spring Boot 中对于定时任务的支持主要还是来自 Spring 框架。
在 Spring Boot 中使用定时任务主要有两种不同的方式,一个就是使用 Spring 中的 @Scheduled 注解,另一个则是使用第三方框架 Quartz。
使用 Spring 中的 @Scheduled 的方式主要通过 @Scheduled 注解来实现。
使用 Quartz ,则按照 Quartz 的方式,定义 Job 和 Trigger 即可。
关于定时任务这一块,大家可以参考:Spring Boot 中实现定时任务的两种方式!
@EnableScheduling
每天凌晨2点 0 0 2 * * ?和每天隔一小时 0 * */1 * * ?
例1:每隔5秒执行一次:*/5 * * * * ?
例2:每隔5分执行一次:0 */5 * * * ?
在26分、29分、33分执行一次:0 26,29,33 * * * ?
例3:每天半夜12点30分执行一次:0 30 0 * * ? (注意日期域为0不是24)
每天凌晨1点执行一次:0 0 1 * * ?
每天上午10:15执行一次: 0 15 10 ? * * 或 0 15 10 * * ? 或 0 15 10 * * ? *
每天中午十二点执行一次:0 0 12 * * ?
每天14点到14:59分,每1分钟执行一次:0 * 14 * * ?
每天14点到14:05分,每1分钟执行一次:0 0-5 14 * * ?
每天14点到14:55分,每5分钟执行一次:0 0/5 14 * * ?
每天14点到14:55分,和18点到18点55分,每5分钟执行一次:0 0/5 14,18 * * ?
每天18点执行一次:0 0 18 * * ?
每天18点、22点执行一次:0 0 18,22 * * ?
每天7点到23点,每整点执行一次:0 0 7-23 * * ?
每个整点执行一次:0 0 0/1 * * ?