【发布时间】:2016-04-11 06:53:38
【问题描述】:
我有一个要求,我的一些石英作业应该以集群方式运行(三个节点中只有一个节点应该运行该作业)和一些作业以非集群方式运行(3 个节点中的所有 3 个节点都应该运行该作业)。
现在我的问题是,我可以在数据源中使用同一组表来满足这两个要求吗?
为了达到同样的目的,我可以做些什么。
- 2 个quartz.properties 一个用于集群实例,一个用于非集群实例。
- 集群的两个实例都将在应用程序启动时启动。
- 所以非集群调度器下配置的作业会以调度器名称NON_CLST_SCHE保存在jobs表中,不同调度器名称下的同一张表中。
这是使用石英的正确方法吗?我们是否面临任何数据损坏问题?
根据石英文档@http://www.quartz-scheduler.org/documentation/quartz-2.x/tutorials/tutorial-lesson-11.html 它说 切勿针对运行任何其他实例的同一组表启动非集群实例。您可能会遇到严重的数据损坏,并且肯定会遇到不稳定的行为。
现在,如果上述解释属实,我的要求的出路是什么。
非常感谢任何帮助,在此先感谢!
【问题讨论】:
-
嗨,这种方法对你有用吗?您能否分享一下属性的 sn-p 以及您是如何触发和清除 Jobs 的?
标签: quartz-scheduler job-scheduling