Мы 3 quartz.net (версия 2.3.3) Работы конфигурируются с помощью XML-файлаquartz.net 2,0 работы не выполняется параллельно
IInterruptableJob Job1Class обозначенного DisallowConcurrentExecution и используется оба Job1 & Job2 (конечно с разными заданиями) в xml-файле.
IInterruptableJob Job3Class используется Job3 в XML-файле.
quartz.threadPool.threadCount устанавливается в 6 через конфигурационный файл.
Из работы 3, работа длительная, и мы требуем, чтобы все 3 задания выполнялись параллельно, но много раз мы наблюдали, что они не выполняются параллельно. Так почему он не выполняется параллельно.
Ниже приведен пример файла xml.
<?xml version="1.0" encoding="utf-8" ?>
<job-scheduling-data xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://quartznet.sourceforge.net/JobSchedulingData" version="2.0">
<schedule>
<job>
<name>Job1</name>
<group>JobGroup</group>
<job-type>Some.Job1.Class, Some.Job1.Class.Assembly</job-type>
<durable>false</durable>
<recover>false</recover>
<job-data-map>
<entry><key>keys</key><value>values</value></entry>
</job-data-map>
</job>
<trigger>
<simple>
<name>Job1Trigger1</name>
<group>Triggers</group>
<job-name>Job1</job-name>
<job-group>JobGroup</job-group>
<start-time-seconds-in-future>1</start-time-seconds-in-future>
<repeat-count>0</repeat-count>
<repeat-interval>1</repeat-interval>
</simple>
</trigger>
<trigger>
<cron>
<name>Job1Trigger2</name>
<group>Triggers</group>
<job-name>Job1</job-name>
<job-group>JobGroup</job-group>
<cron-expression>0 0/1 * * * ?</cron-expression>
</cron>
</trigger>
<job>
<name>Job2</name>
<group>JobGroup</group>
<job-type>Some.Job1.Class, Some.Job1.Class.Assembly</job-type>
<durable>false</durable>
<recover>false</recover>
<job-data-map>
<entry><key>keys</key><value>values</value></entry>
</job-data-map>
</job>
<trigger>
<simple>
<name>Job2Trigger1</name>
<group>Triggers</group>
<job-name>Job2</job-name>
<job-group>JobGroup</job-group>
<start-time-seconds-in-future>1</start-time-seconds-in-future>
<repeat-count>1</repeat-count>
<repeat-interval>1</repeat-interval>
</simple>
</trigger>
<trigger>
<cron>
<name>Job2Trigger2</name>
<group>Triggers</group>
<job-name>Job2</job-name>
<job-group>JobGroup</job-group>
<cron-expression>0 0 2 1/1 * ? *</cron-expression>
</cron>
</trigger>
<job>
<name>Job3</name>
<group>JobGroup</group>
<job-type>Some.Job3.Class, Some.Job3.Class.Assembly</job-type>
<durable>false</durable>
<recover>false</recover>
<job-data-map>
<entry><key>keys</key><value>values</value></entry>
</job-data-map>
</job>
<trigger>
<simple>
<name>Job3Trigger1</name>
<group>Triggers</group>
<job-name>Job3</job-name>
<job-group>JobGroup</job-group>
<start-time-seconds-in-future>1</start-time-seconds-in-future>
<repeat-count>1</repeat-count>
<repeat-interval>1</repeat-interval>
</simple>
</trigger>
<trigger>
<cron>
<name>Job3Trigger2</name>
<group>Triggers</group>
<job-name>Job3</job-name>
<job-group>JobGroup</job-group>
<cron-expression>0/30 * * * * ?</cron-expression>
</cron>
</trigger>
</schedule>
</job-scheduling-data>