将Quartz中的作业调度为一个过程

时间:2014-12-02 06:47:01

标签: quartz-scheduler

石英中的作业是作为进程还是线程执行?

如果它作为一个线程执行,那么当执行繁重的工作或耗时的工作时,它会影响石英调度程序的性能。

如果是,那么请建议解决方案。

如果我们同时执行10个耗时的工作会产生什么影响?

我阅读了教程,但没有找到解决方案。 请提出解决方案。

感谢。

1 个答案:

答案 0 :(得分:0)

阅读有关Configuring the thread pool的文档,其中解释了石英线程池如何满足您的需求。更具体地说,可以根据您的需要设置org.quartz.threadPool.threadCount配置属性,如文档所述:

  

可用于并发执行作业的线程数。您   可以指定任何正整数,尽管只有1和1之间的数字   100是实用的。如果你只有一些工作可以点燃几次   一天,然后一个线程是充足的。如果你有成千上万的工作,   每分钟都有许多射击,那么你想要更多的线程数   50或100(这在很大程度上取决于你的工作性质   作业执行,以及您的系统资源)。

在您提到的有关同时触发的10个作业的具体示例中,如果您已配置超过10个线程的上述属性,则每个作业将在其自己的线程上并发运行。否则,如果配置较少,则会先启动一些,其他将等待线程可用。如果在配置的时间段内没有线程可用,则您设置的失火指令将处理要采取的操作,通常是尽快触发延迟的作业,但这也是可配置的设置。