首页 > 其他 > 详细

Quartz任务执行一段时间后停止,不再执行

时间:2021-08-26 11:43:50      阅读:13      评论:0      收藏:0      [点我收藏+]

现网有7个定时任务,其中一个定时任务经常会执行一段时间后停止,重启多次依然如此,quartz默认线程数为10,使用了@DisallowConcurrentExecution注解,问题依旧。

经观察,发现出现问题的任务设定的每个小时执行一次,但每次执行时间都很长,一般会有七八个小时,其他正常的任务都在很短的时间内执行完成。怀疑是由于任务执行较长的原因,因此对该任务进行了结构调整

 

解决方案:

在耗时较长的任务调整为异步执行,job中只是组织数据,放入缓存,由另外一条线程从缓存中获取数据进行处理,如果另外一条线程还未处理完上一批次的数据,则下次job任务执行时不再向缓存中添加数据。

 

经过以上处理后,经过观察,在以往两三天就会停止的sas任务,没有再出现过任务不执行的问题。(但具体原因还需要时间查看下quartz底层实现机制)

 

Quartz任务执行一段时间后停止,不再执行

原文:https://www.cnblogs.com/qq931399960/p/15188222.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!