石英调度程序工作线程问题



我对石英调度程序工作线程有问题。我创建了一个调度程序任务,它将每 3 小时执行一次。我创建了一个作业和一个触发器。当我执行这个调度程序时,我观察到一个奇怪的行为,同样的作业被分配给 10 个工作线程。这 10 个工作线程执行相同的代码 10 次。我该如何解决这个问题...?

任何人都可以帮我解决这个问题。我对石英调度程序很陌生。

提前感谢,阿马尔

来自 org.quartz.threadPool.threadCount 标头下的石英手册

如果只有几个作业每天触发几次,则 1 个线程 很多! 如果你有数以万计的工作,每分钟都有很多人被解雇, 那么你可能想要一个更像 50 或 100 的线程数(这高度 取决于您的工作所执行的工作的性质,以及您的 系统资源!

这就是可以更改线程计数的方式。

<configSections>
    <section name="quartz" type="System.Configuration.NameValueSectionHandler,System, Version=1.0.5000.0,Culture=neutral, PublicKeyToken=b77a5c561934e089" />
</configSections>
<quartz>
    <add key="quartz.scheduler.instanceName" value="ServerScheduler" />
    <add key="quartz.threadPool.type" value="Quartz.Simpl.SimpleThreadPool, Quartz" />
    <add key="quartz.threadPool.threadCount" value="80" />
    <add key="quartz.threadPool.threadPriority" value="2" />
    <add key="quartz.jobStore.misfireThreshold" value="60000" />
    <add key="quartz.jobStore.type" value="Quartz.Simpl.RAMJobStore, Quartz" />
</quartz>

首先检查一下你的 cronExpression,比如 "0 0 */3 * *"

或者更改线程数。

<property name="quartzProperties">
    <map>
        <entry key="org.quartz.threadPool.threadCount" value="10"/>
    </map>
</property>

最新更新