浏览 18790 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2014-05-26
现在在上面布置了3个同样的项目在上面(只有连接数据库部分和端口访问部分的配置不一样), 在项目里用到了quartz的定时任务, 一个项目里有17个定时任务. 启动后都可以正常运行, 并且job任务都正常执行, 但是执行一段时间以后有部分本该执行的job就不再执行了, 还有部分定时任务能正常执行. 请问这会是由什么原因引起的呢? ps:非web项目. 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2014-05-27
2个点
1、 看看线程池数量配置的够不够,如果不够,在某些任务执行时间超过预期,可能会造成其他任务排队。 2、 升级到最新的GA版本,老版本确实是有问题。 |
|
返回顶楼 | |
发表时间:2014-05-28
最后修改:2014-05-28
先检查下是不是定时任务的定时周期cron表达式设得不对。
|
|
返回顶楼 | |
发表时间:2014-05-28
看看数据库连接是否正常释放,我遇到的一个情况就是这样,加上数据库连接释放类似的问题就不再出现了。
|
|
返回顶楼 | |
发表时间:2014-05-28
可能是资源耗尽,比如数据库连接、线程池线程等,导致最后一次job 执行就一直停在了等待资源释放状态上。这往往是因为编码的bug 导致资源一直慢慢占用忘了有效的释放导致的。
而quartz 里面,如果上一次job 执行未完成,下一次就不会执行了。 |
|
返回顶楼 | |
发表时间:2014-05-28
还有一个原因,是不是你的job里面抛出异常了.如果抛出了这个异常,之后也是不会执行job的...解决方法是catch所有的异常,然后进行异常处理...
|
|
返回顶楼 | |
发表时间:2014-05-29
碰见过几次这样的问题,
部署机例如有3台,以为3台都是同样的程序,谁知道失误,其中有1个是老程序,所以就停了。 |
|
返回顶楼 | |
发表时间:2014-06-01
看下日志里有没有heap error,一般是 out of memory
|
|
返回顶楼 | |
发表时间:2014-08-20
感谢各位的回答.
这是个诡异的问题. 就项目刚开始上线的时候出现过几次这样的问题, 后来也没做改动, 也没发生过这样的问题了. |
|
返回顶楼 | |