我将terracotteJobStore绑定到Quartz-Scheduler
terracotteJobStore如何确定下一个应该执行哪个节点的作业?
哪个算法用于terracotteJobStore中的节点选择任何想法?
答案 0 :(得分:1)
如果'Quartz Scheduler'与'TerracotteJobStore'一起使用,并且接下来要执行任何Job,那么该Job的Node选择将是Random。
使用'Qurtz Where'可以在标准基础上创建Job。 意味着你是否想要创建一个必须在核心至少为2或的节点上运行的作业 创建一个在节点上运行的Job,其平均CPU负载为70%或 创建一个在节点上运行的Job,其至少具有Java Heap Free内存330 MB 在这种情况下,“Quartz Where”很有用。
可以预测哪个Node,Job只会在“Quartz Where”的情况下执行。
答案 1 :(得分:0)
使用OS Terracotta的JobStore,您无法确定作业将在哪个节点上执行。并非它实际上是随机发生的,但调度程序的行为与非群集模式相同。所以基本上,每个节点将以固定的间隔,并基于下一个触发器来触发何时获取下一个触发器。由于集群中的所有节点的行为方式相同,因此第一个获取锁定的节点也能够首先获取触发器。
Terracotta EE附带Quartz Where功能,可让您描述应该触发作业的位置。您可以通过观看我做过的简短截屏视频了解更多关于Quartz的信息:http://www.codespot.net/blog/2011/03/quartz-where-screencast/
希望这会有所帮助。