quartz定时任务暂时不运行的原因数据库表QRTZ_TRIGGERS中的TRIGGER_STATE字段的值已自动更改为ERROR。 quartz定时任务是不扫描这种错误情况。
发生错误的原因是,由于作业中存在错误,quartz会自动更改状态,quartz不会执行处于错误状态的作业。
1 .查找原因如下图: (如果将错误更改为正常状态,查找原因的方法将打印错误。 )
TRIGGER_STATE的状态为:
等待:等待PAUSED:暂停ACQUIRED:的正常阻止:块错误:错误
2 .数据库现象如下图:
其中,处于TRIGGER_STATE状态的字段为ERROR,可以更改为上面的WAITING:并等待,也可以在成功运行ACQUIRED:后重新启动项目。 在这种情况下,控制台可能显示如图所示的错误日志。
3.TRIGGER_STATE字段更改时不会自动修改,quartz计时器任务不会扫描错误状态。 因此,在quartz计时器任务运行了几次后,如果遇到作业错误,状态将自动更正,并且quartz计时器任务可能不再运行。
解决quartz定时任务job中的错误,并将数据库QRTZ_TRIGGERS中的TRIGGER_STATE字段的状态更改为正常状态。
5 .完美解决这些问题的伙伴们,如果有更好的解决方案,请给我留言哦。