gpt4 book ai didi

quartz-scheduler - 关于对集群和非集群调度程序使用相同的 quartz 表集

转载 作者:行者123 更新时间:2023-12-01 10:04:02 26 4
gpt4 key购买 nike

我有必须在集群模式下运行的作业以及需要在每个节点中运行的作业。我需要非集群作业也是持久的,所以我创建了两个调度程序,一个在集群模式下运行,另一个在非集群模式下运行,两者都使用与作业存储相同的 quartz 表集。这个设计有问题吗?我从 Quartz 配置引用中看到以下语句(http://quartz-scheduler.org/documentation/quartz-2.1.x/configuration/ConfigJDBCJobStoreClustering)

永远不要针对任何其他实例正在运行 (start()ed) 的同一组数据库表启动 (scheduler.start()) 非集群实例。您可能会遇到严重的数据损坏,并且肯定会遇到不稳定的行为
但是没有任何解释,我也不清楚这是否真的意味着。如果不创建另一组 quartz 表,是否还有其他选择。

最佳答案

如果您启动两个不同名称的调度程序,您可以毫无问题地重用相同的表。作业、触发器和所有其他 Quartz 实体由包含调度程序名称的复合主键标识。这意味着集群调度程序使用不同的记录子集,并且永远不会接触非集群的记录。

另一种解决方案是使用不同的表集。 Qurtz 允许您基于调度程序定义表前缀。

文档中的评论是关于具有相同调度程序名称的两个非集群应用程序使用相同数据库的情况。然后他们会严重干扰对方并导致各种问题。

关于quartz-scheduler - 关于对集群和非集群调度程序使用相同的 quartz 表集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12703451/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com