zoukankan      html  css  js  c++  java
  • Quartz任务执行一段时间后停止,不再执行

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

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

    解决方案:

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

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

  • 相关阅读:
    哈希表
    fastcgi 分布式
    环形队列实现
    队列--双链表实现
    lighttpd fastcgi的搭建
    vim 常用命令
    命令行解析getopt_long
    规范打log
    apt-get &dpkg
    Linux syslog 学习
  • 原文地址:https://www.cnblogs.com/qq931399960/p/15188222.html
Copyright © 2011-2022 走看看