小白一枚,在工作中遇到了一个问题,定时任务每分钟执行一次对 N 类数据进行处理,但是由于其中一类数据定时任务在查数据库的时候花费了大量的时间,导致这个定时任务其他类型的数据不能处理。这种情况下应该怎么办,请求大佬们给一点解决思路,谢谢啦。
小白一枚,在工作中遇到了一个问题,定时任务每分钟执行一次对 N 类数据进行处理,但是由于其中一类数据定时任务在查数据库的时候花费了大量的时间,导致这个定时任务其他类型的数据不能处理。这种情况下应该怎么办,请求大佬们给一点解决思路,谢谢啦。
|
ala2008Apr 16, 2018
2
那就不要每分钟啊,任务执行完成才开始下一轮
|
|
zhaziApr 16, 2018 via Android
3
扔队里?
|
|
NeinChnApr 16, 2018
4
那就....
再开个线程后台跑啊 干嘛阻塞 Schedule 的线程...... |
|
TaoSamaApr 17, 2018 via Android
5
再来个 io 的线程(池)
|
|
CbdyApr 17, 2018 via Android
6
spring 的 schedule 有线程池模式,或者 fork 线程跑也行
|
|
broadliynApr 17, 2018
7
taskScheduler taskExecutor 是可以设置线程池的
|
|
A555Apr 17, 2018
8
改成非并发
|
|
arthas2234Apr 17, 2018
9
为啥在每分钟都要调用的任务里面,查一个大的数据。。。查询耗时的那部分能不能做缓存
|
|
pluoneApr 17, 2018
10
spring schedule 的原理,如果同一时间点有多个任务要执行,那么正在执行的后阻塞后面的任务
|
|
12
谢谢大家的意见。
|