zoukankan      html  css  js  c++  java
  • quartz里job不执行的解决方案(并发量太低原因)

    这里写链接内容
    使用框架spring3+quartz1.8

    生产环境中碰到会有job一直不执行的情况,后来分析是因为quartz中线程总数太少,而项目中所有的job都是并发执行的就会导致当到达时间节点时如果线程已经用完,则JOB不会执行等到下次job执行时间节点,如果项目中存在很多job执行过程耗时比时间周期还长就会导致这种情况发生。

    解决办法

    1.更具实际情况动态调整quartz线程池大小

    这样就不会存在过多短时间周期内大量未结束的job导致线程用完,新的job无法开始执行。
    2.把不用并发执行的job禁止并发执行

    禁用并发执行的job在未执行完时到达下一个开始时间不会占用一个新的线程去执行,但需要更具业务情况来确定该job是否需要并发执行。

    最终我是1,2结合先把总线程数调大,再将一些定时同步数据的job都改为非并发执行,解决!

  • 相关阅读:
    1002. A+B for Polynomials
    1010. 一元多项式求导
    BZOJ3569
    BZOJ3224
    loj2291. 「THUSC 2016」补退选
    平衡树入门
    高斯消元入门
    写手vector
    矩阵乘法入门
    母函数入门
  • 原文地址:https://www.cnblogs.com/wpcnblog/p/9317743.html
Copyright © 2011-2022 走看看