当前位置: 首页 > 面试题库 >

如何缩放Quartz调度程序?

习胤运
2023-03-14
问题内容

我计划使用Quartz调度程序,因为我阅读了很多好的意见。

我的问题如下:在任何给定时间,系统中都会存在成千上万的触发器。大多数触发器将仅触发一个事件并死亡。另外,很有可能我将不得不在分配许多作业后取消它们(基于新的输入)。

石英可以缩放吗?推荐哪个JobStore?我计划在mysql上使用JDBC。

附加信息 :我的工作将发送电子邮件或通过HTTP发布将数据发布到其他服务(通过WAN)。


问题答案:

常见问题解答中有一些提示和建议:

Quartz可以运行多少个作业?

答案摘录:

因此,我只想说说,有一部分Quartz正在管理成千上万的作业和触发器,并且在任何给定时间执行数十个作业-甚至没有利用Quartz的负载平衡功能。

在Quartz Users论坛中也有一些讨论,来自在类似条件下使用Quartz的开发人员的经验报告。

  • 可伸缩性和性能 -Jim Nichols将成千上万个工作集中在一起,并通过电子邮件自愿提供更多信息
  • 石英性能 -Stey Baptiste每天运行200万个工作,每秒10个工作

2015年1月12更新:
不幸的是,移动论坛后,以上列表中的链接断开了,我无法找到新的工作链接。我仍然会保留链接,以防它们有助于从archive.org或其他地方挖掘信息。官方的Quartz论坛现已成为Google
Groups上的quartz-scheduler



 类似资料:
  • 我有使用Spring的石英作业实现。我的调度程序工作正常,作业执行完美。我的问题是如何将此调度程序置于待机状态?这样一旦我决定将调度程序置于待机模式,就不会触发任何作业。下面是作业类 来自applicationContext_调度程序的代码片段。xml

  • 我使用Quartz Scheduler(使用JobDetailFactoryBean)和Spring来安排一些作业。现在我通过XmlApplicationContext通过spring配置实现了这一点,我必须将其更改为AnnotationConfigApplicationContext。那么,我如何在AnnotationConfigApplicationContext中实现这个cronjob呢。这

  • 我有一个配置了spring的quartz调度器,它有五个触发器来触发适当的作业。我想要的是有一个标志,我可以用来禁用开发和测试环境中的作业,并在生产中启用。下面是我的applicationContext中的配置。石英调度器的xml。 Cron触发器: 我尝试的内容:我尝试将cron表达式设置为feb31,这样它就永远不会运行,但这需要在数据库中运行代码更改或脚本。我需要的是:在我的weblogic

  • 问题内容: 请考虑这个例子。 一个示例Web应用程序要求其启动。调度程序配置为将其作业存储在DB中。 该应用程序被复制到六个Web服务器上。 因此,如果我们启动六个Web服务器,则在单个DB上将有六个具有相同名称的调度程序。如https://quartz- scheduler.org/documentation/quartz-2.1.x/cookbook/MultipleSchedulers中所述

  • 相关: 我觉得我错过了什么?

  • 我正在利用石英调度,有2个工作。第一个工作是执行大约2分钟的任务,第二个是设置为临时文件的清理操作。因此,我需要设置时间表,以一种方式工作,即在第一个作业被执行/完成执行任务后,我需要在第二个作业的帮助下进行清洁操作。 考虑到Quartz 2.1.x下的示例9-Job Listeners,该示例说明我们可以定义一个名为jobWasExecuted(_,_)的方法;并在第一个作业被执行/或处于运行状