如何扩展 Quartz 调度器?

Posted

技术标签:

【中文标题】如何扩展 Quartz 调度器?【英文标题】:How to scale the Quartz scheduler? 【发布时间】:2010-10-30 05:18:04 【问题描述】:

我打算使用Quartz scheduler,因为我阅读了很多关于它的好意见。

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

Quartz 可以扩展到这个吗?推荐哪个 JobStore?我打算用 JDBC 代替 mysql

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

【问题讨论】:

【参考方案1】:

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

How many jobs is Quartz capable of running?

摘自答案:

所以我只想说,有一些 Quartz 分期付款管理着数十万个作业和触发器,也就是说,在任何给定时间执行几十个作业 - 甚至没有利用 Quartz 的负载- 平衡能力。

Quartz 用户论坛也有一些讨论,有在类似条件下使用过 Quartz 的开发者的经验报告。

Scalability & Performance - Jim Nichols 正在运行数千个集群作业,并通过电子邮件自愿提供更多信息 Quartz performance - Stey Baptiste 每天运行 200 万个工作,每秒 10 个工作

2015 年 1 月 12 日更新: 不幸的是,上面列表中的链接在论坛移动时损坏了,我无法找到新的工作链接。无论如何我都会留下链接,以防他们帮助从archive.org或其他地方挖掘信息。 Quartz 官方论坛现在是quartz-scheduler on Google Groups。

【讨论】:

是的,我已阅读此文档。我正在寻找这种案例的实践经验。我在问题中添加了一些有关工作的信息。 不幸的是,我没有在 Quartz 中使用此类卷的实际经验。 Quartz 用户论坛中有一些经验报告,我已经用链接更新了我的答案。您可能需要更新问题的标题或描述,以阐明您需要体验报告,而不是指向文档或设计建议的指针。

以上是关于如何扩展 Quartz 调度器?的主要内容,如果未能解决你的问题,请参考以下文章

任务调度器quartz的使用

Quartz3.0定时任务学习之异步调度器

Quartz与Spring集成——启动调度器

Quartz定时调度jar包的执行Demo分享

Mule Quartz 调度器:处理多条消息

spring定时任务之-quartz调度器