triggers - 除了服务器重启之外,是否存在 Quartz 使用“RECOVERING_JOBS.recover_”触发器触发作业的情况?
问题描述
我有一个运行 Quartz Scheduler (v1.8.6) 的 2 台服务器集群。它们共享相同的元数据数据库,并且所有作业的恢复标志都为 true。时钟是同步的(根据我们的客户)。
一些属性:
org.quartz.jobStore.misfireThreshold=60000
org.quartz.jobStore.isClustered=true
org.quartz.jobStore.clusterCheckinInterval=5000
我遇到的情况是“RECOVERING_JOBS.recover_xxx”触发器由于失火而触发作业并且该作业已经在运行,因此我最终在同一台服务器上运行了同一作业的 2 个实例。
154806091 [QuartzScheduler_xxx-xxx_MisfireHandler] ERROR 2021-03-21T04:18:25.592 com.my.site.LoggingTriggerHistoryPlugin [] - Trigger [RECOVERING_JOBS.recover_xxx011616145523933_1616300301235] misfired job [xxx_344] at: 2021/03/21 04:18:25. Should have fired at: 2021/03/21 04:00:00.
据我在日志文件中看到的,服务器没有重新启动,所以我不知道为什么有一个触发该作业的 RECOVERING 触发器(然后,失火)。
谢谢
解决方案
推荐阅读
- android - PopMenu 项目空白
- debian - geoip 模块在 debian 中无法正常工作
- java - 用 ArrayList 填充 TableView(列和数据)
- python - PSO 可以收敛于非零导数的点吗?
- python - 使用烧瓶 wtforms 中的 SubmitField 与 html 提交按钮有什么优点/缺点?
- javascript - 如何摆脱来自 Firebase 的此错误消息?
- python - (Python) 将文件值转换为 dict
- python - 如何在json中配置日志文件获取错误:ValueError:无法配置根记录器
- html - 如何使 backgroundImage 在框内完全显示
- java - 如何从 Visual Studio 代码中的其他文件调用 Java 类