正常运行的Quartz定时任务突然不正常了,TRIGGER_STATE变成了ERROR
闲言:这里祝各位大佬明年就实现月入百万!
一、情景描述
项目里用simple类型的Trigger,第一次运行正常没有啥问题,但第二次却不运行了。What??于是到Quartz的数据库里查看了下对应的配置数据,jobDetail看了看没啥问题,但一看QRTZ_TRIGGER表找的我的那个任务数据一看,哦豁了…原本正常的WAITTING怎么变成了ERROR,这一下给整懵逼了。
二、Fix Bug
1.代码审查
仔细审阅了下项目代码也找了对应的log并未发现有异常,而且该捕获的异常都是会做处理的,就算是出现异常了也会有log记录的,但我并未发现问题。
2.定位问题
后面发现我使用的这个数据库也被其他人使用了,对方的应用服务也在跑这个库我这边也在跑,对方的项目代码版本并未更新最新的代码导致任务执行的时候因之前的bug导致错误了所以更新了我的任务数据,导致我这边的任务无法继续正常执行!后面单独开了一个数据库重新运行就没有这问题了。
3.大意了大意了
这里大意了,这里要十分注意下因为开发的时候没有隔离开数据库使用,大家使用的都是同一个库数据都是一样的,但不同版本的代码服务不一样也有问题!
三、收尾
如若觉得本文有不对的地方,望同学们尽快联系我,以免误导大家
学习交流群:976519455