java中@Schedule定时任务未按时执行

背景:定时任务23点,第二天凌晨才执行

原因:定时任务在单线程情况下其他定时任务未执行完导致延后

解决:开启多线程

@Configuration // 主要用于标记配置类,兼备Component的效果
@EnableScheduling // 开启定时任务(默认情况下,系统会自动启动一个线程去执行任务)
@EnableAsync // 开启多线程
@Slf4j
public class TimerTask {

@Async
@Scheduled(cron = "0 20 22 * * ?")
publitc void task() {
}

}

 

posted @ 2024-09-24 09:43  白玉神驹  阅读(141)  评论(0编辑  收藏  举报