如图的定时任务,本地跑正常,生产就出问题,不按时执行:
原因:@Scheduled 默认是单线程的,一旦某个定时任务比较耗时,就会导致线程阻塞,影响其他定时任务的执行;
解决方案:
第一种,自己去配置多线程去执行定时任务
第二种:使用springboot自带的异步线程注解
定时任务上增加@Async注解,并在启动类上增加@EnableAsync注解
如图的定时任务,本地跑正常,生产就出问题,不按时执行:
原因:@Scheduled 默认是单线程的,一旦某个定时任务比较耗时,就会导致线程阻塞,影响其他定时任务的执行;
解决方案:
第一种,自己去配置多线程去执行定时任务
第二种:使用springboot自带的异步线程注解
定时任务上增加@Async注解,并在启动类上增加@EnableAsync注解