首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Quartz调度器维护和性能开销

Quartz调度器维护和性能开销
EN

Stack Overflow用户
提问于 2020-01-31 15:33:06
回答 1查看 230关注 0票数 0

我们目前正在评估在我们的项目中使用quartz-scheduler。对于我们的用例,我们只需要在未来的某个时候触发一次触发器,它不需要是可重复的或cron触发器。

因此,在我的POC中,当业务事件发生时,我创建了一个新的简单的一次性触发器。我可以看到,在集群环境中(使用quartz的JDBC存储),触发器正在多个节点之间平衡/分布。

从POC的角度观察期望的行为,但从性能的角度来看,如果我们在大规模运行时每次都创建一个新的一次性触发器,那么代价会有多高。据我所知,一个瓶颈是触发器的数据库膨胀,数据库清理的可能解决方案是添加一个后台任务来清理旧的触发器。

我很有兴趣听到关于维护我们的设计和任何输入改进设计的调度器的经验和痛点。

EN

回答 1

Stack Overflow用户

发布于 2020-01-31 18:47:36

您可以安全地使用一次性触发器,它们将在触发后由Quartz自动删除。发生的事情是,Quartz检查所有触发器,并确定这些触发器是否将在未来的某个时候触发。如果没有,Quartz会简单地将它们从存储中删除,因为保留它们没有任何意义。

类似的原则也适用于工作。如果作业没有关联的触发器,Quartz会自动将其从存储中删除,除非作业的持久性标志设置为true。

因此,在您的情况下,您可能希望注册一堆持久作业,然后您的应用程序将根据需要为这些作业创建一次性触发器。作业将保留在存储中,触发器将在完成后自动清除。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59999673

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档