SpringBoot定时任务不定时执行了

两个注解

@EnableScheduling:使得@Scheduled生效

@Scheduled:标注在方法上

@Scheduled 注解

fixedDelay任务结束与开始之间的间隔

fixedRate两次任务的开始的间隔,不管任务是不是执行结束

initialDelay:配合性的,可以和上面两个配合使用,第一次执行的延迟时间

cron:Linux 系统中定时任务的效果,更加灵活设置时间

基本使用

1673347821701-c865a0a1-7966-4058-9eba-121cec03b055.png

1673347806599-e33af619-28ec-4fd1-8246-a5ec23530534.png

此时运行的时候,第二个任务其实是不会执行的

原理

1673348319892-004b26db-2241-4c0e-8a04-9f0e92266017.png

如果不指定 scheduler ,就默认使用单线程的 scheduler,所以上面的就会阻塞,第二个定时任务拿不到线程

1673348693115-3376dd4f-f85a-4d96-bedd-a39b3ab18414.png

配置定时任务的线程池

  • 配置文件中指定定时任务线程数 spring.task.scheduling.pool.size
  • 自定义定时任务的线程池,编写 ScheduleConfig

1673349109337-980cd559-a23d-4132-a29f-c27d87dfeaa8.png

posted on 2025-10-14 23:47  chuchengzhi  阅读(0)  评论(0)    收藏  举报

导航

杭州技术博主,专注分享云计算领域实战经验、技术教程与行业洞察, 打造聚焦云计算技术的垂直博客,助力开发者快速掌握云服务核心能力。

褚成志 云计算 技术博客