【问题标题】:Do Quartz triggers "pile up" when you set concurrent to false当您将并发设置为 false 时,Quartz 会触发“堆积”吗
【发布时间】:2014-03-03 21:29:23
【问题描述】:

我有一个设置为每分钟执行一个进程的 Quartz 触发器。

由于 concurrent 设置为 false,如果该过程花费的时间超过一分钟,则会阻止未来的触发器。但是,这是否意味着尝试运行的触发器现在“排队”等待执行?

例如,如果流程需要 10 分钟来执行,是否会有 10 个触发器坐在那里等待执行。我正在尝试防止在服务器上堆积。

【问题讨论】:

    标签: java quartz-scheduler


    【解决方案1】:

    没有。如果 concurrency 设置为 false(带有注释 @DisallowConcurrentExecution),如果实际仍在运行,则不会启动其他作业。

    请参阅文档中的Job State and Concurrency

    【讨论】:

    • +1 链接。我查看的文档没有详细介绍这个特定主题。
    【解决方案2】:

    接受的答案不正确。 我刚刚用石英 2.2.3 进行了测试,这些工作确实被搁置了。 这意味着如果处理工作的时间优于工作之间的时间,您将堆积工作。

    @1ac0 提供的文档没有提及任何内容,除了作业不会“立即”运行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-04-25
      • 2011-04-18
      • 1970-01-01
      • 1970-01-01
      • 2015-05-27
      • 2013-10-09
      • 2012-12-01
      相关资源
      最近更新 更多