java中@Schedule定时任务未按时执行
背景:定时任务23点,第二天凌晨才执行
原因:定时任务在单线程情况下其他定时任务未执行完导致延后
解决:开启多线程
@Configuration // 主要用于标记配置类,兼备Component的效果 @EnableScheduling // 开启定时任务(默认情况下,系统会自动启动一个线程去执行任务) @EnableAsync // 开启多线程 @Slf4j public class TimerTask { @Async @Scheduled(cron = "0 20 22 * * ?") publitc void task() {
}
}