当前位置: 首页 > 知识库问答 >
问题:

为在群集中的每个节点上取消的作业安排触发器

终弘厚
2023-03-14

我想知道对于quartz是否有一个简单的解决方案/hack来触发一个在集群中的每个节点上都被删除的作业。

我的情况:我的应用程序正在缓存一些东西,并且运行在一个没有分布式缓存的集群中。现在,我需要刷新作业触发的所有节点上的缓存。

共有1个答案

鄢子平
2023-03-14

正如您所发现的,Quartz总是选择一个随机实例来执行一个计划的作业,除非您想要黑掉它的内部,否则这是不容易改变的。

实现您描述的最简单的方法可能是实现某种协调器(或主)作业,该作业将知道集群中的所有Quartz实例,并将“手动”触发每个节点上缓存同步作业的执行。主作业可以通过RMI或Quartz公开的JMX API轻松完成。

您可能想检查一下这个有点类似的问题。

 类似资料:
  • 问题内容: 我在集群环境中将Quartz Scheduler用作Spring bean。 我有一些用@NotConcurrent注释的作业,它们每个集群运行一次(即,仅在一个节点中,仅在一个线程中)。 现在,我需要在集群的每个节点上运行一项作业。我删除了@NotConcurrent批注,但是它仅在一台计算机上的每个线程上运行。它不会在其他节点上触发。 我应该用什么来注释作业? 示例:带注释的Job

  • 我有一些用@NotConcurrent注释的作业,它们每个集群运行一次(即,只在一个节点中,只在一个线程中)。 现在我需要在集群的每个节点上运行一个作业。我删除了@NotConcurrent注释,但它只在一台机器上的每个线程上运行。它不会在其他节点上被激发。 我应该用什么来注释这份工作?

  • 不幸的是,我有一个工作是对RAM中的数据进行操作,但没有同步设置。我能看到的最简单的解决方案是让一个作业在所有节点上运行而不进行协调,就像使用一样。 是否有方法将作业配置为在LocalDataSourceJobStore下的所有节点上运行? 精确的定时并不重要,但作业必须每30分钟在每个节点上运行一次

  • 我有一个应用程序,使用Quartz作为作业调度程序。有两种情况 null > 应用程序的两个实例都将启动并连接到数据库。两者都报告它们已成功群集并连接到数据库。 当我根据场景1调度作业时,在作业执行时,只有一个应用程序执行作业。 场景2,即每10秒执行一次的cron作业,由两个应用程序同时执行。 任何帮助或指导将非常感谢!

  • 当我们使用包“RMR”(RHadoop的一部分)并从RStudio中运行的R程序内部调用mapreduce()时,就会出现错误。 为了简化这篇文章,我展示了一个失败的非常简单的程序(其他更大的程序以相同的错误消息失败) 在R-Studio控制台上显示的错误有

  • 我对container worrld是新手,并试图在两个linux VM中本地设置一个kubernetes集群。在集群初始化期间,它卡在 KubeADM-1.6.0-0.x86_64.rpm KubectL-1.6.0-0.x86_64.rpm Kubelet-1.6.0-0.x86_64.rpm