【问题标题】:how to know on which node job will executes in Quartz-Scheduler with TerracottaJobStore?如何知道使用 TerracottaJobStore 在 Quartz-Scheduler 中执行哪个节点作业?
【发布时间】:2012-06-22 11:03:35
【问题描述】:

我已将 terracotteJobStore 与 Quartz-Scheduler 绑定

terracotteJobStore 如何确定下一个作业应该为哪个节点执行?

terracotteJobStore 中的节点选择使用哪种算法知道吗??

【问题讨论】:

    标签: algorithm quartz-scheduler terracotta


    【解决方案1】:

    如果 'Quartz Scheduler' 与 'TerracotteJobStore' 一起使用,并且接下来有任何作业要执行,那么该作业的节点选择将是随机的。

    使用“Qurtz Where”可以根据标准制作 Job。 意味着如果你想制作一个必须在核心至少为 2 的节点上运行的作业,或者 制作在平均 CPU 负载为 70% 的节点上运行的作业或 制作在至少具有 Java 堆可用内存 330 MB 的节点上运行的作业 在这种情况下,“Quartz Where”很有用。

    只有在“Quartz Where”的情况下,才能预测Job在哪个Node上执行。

    【讨论】:

      【解决方案2】:

      使用 OS Terracotta 的 JobStore,您无法决定作业将在哪个节点上执行。并不是说它真的是随机发生的,而是调度程序在非集群模式下的行为。所以基本上,每个节点都会以固定的时间间隔,并根据下一个触发器触发何时获取下一个触发器。由于集群中所有节点的行为方式相同,因此最先获得锁的节点也将能够先获得触发器。

      Terracotta EE 带有 Quartz Where 功能,可让您描述应在何处解雇工作。你可以通过观看这个简短的截屏视频了解更多关于 Quartz Where 的信息:http://www.codespot.net/blog/2011/03/quartz-where-screencast/

      希望这会有所帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-06-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多