当前位置:  开发笔记 > 编程语言 > 正文

我应该创建一个新的石英作业并触发一个作业和多个触发器吗?

如何解决《我应该创建一个新的石英作业并触发一个作业和多个触发器吗?》经验,为你挑选了1个好方法。

我希望使用quartz来安排电子邮件,但我不确定采取哪种方法:

    创建新作业并在计划电子邮件时触发OR

    创建单个作业,并在每次安排电子邮件时创建新的触发器

我需要以任何方式传递消息/收件人等,而且我不确定创建大量工作是否会开始增加大量内存开销,因为很可能会安排数千封电子邮件.

更新:这些电子邮件将由用户安排,而不是我 - 所以我将在运行时以编程方式添加这些电子邮件,它们不会在任何特定时间安排.



1> erickson..:

Quartz旨在处理成千上万的触发器.此处可扩展性的主要限制是JobStore中可用的空间.支持合理数据库的JDBCJobStore应该能够处理数十万个触发器.

如果可以通过触发器的作业数据映射参数化单个作业,则为每个电子邮件创建一个作业和一个触发器.Quartz定期轮询作业存储以查找准备触发的触发器.Quartz旨在安全地处理来自此查询的任意大的结果集.

重要的是 - 这与Quartz本身无关 - 就是你有足够的带宽来执行峰值负载.如果用户倾向于将邮件安排在丛中,则需要确保拥有计算资源才能收到电子邮件.这将包括网络带宽,处理以及配置为利用可用资源的足够工作线程.

请注意,如果Quartz在执行作业时落后太多,您可以配置Quartz应该对触发器执行的操作.你可以继续尝试,跳过触发器等.

推荐阅读
k78283381
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有