2013-09-12 2 views
2

У меня проблема с рабочими потоками Quartz Scheduler. Я создал задачу планировщика, и она будет выполняться каждые 3 часа. Я создал одно задание и один триггер. Когда я выполнил этот планировщик, я заметил странное поведение, то же задание было назначено на 10 рабочих потоков. Эти 10 рабочих потоков выполняют один и тот же код 10 раз. Как я могу решить эту проблему ...?Quartz Scheduler Worker Threads Issue

Может кто-нибудь, пожалуйста, помогите мне в этом. Я очень новичок в Quartz Scheduler.

Thanq В Advance, Амар

+0

Не могли бы вы поместить часть своего кода? – RobertG

ответ

1

Прежде всего проверить ваш cronExpression как "0 0 */3 *"

Или изменить Ваш подсчет темы.

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

Из quartz manual под org.quartz.threadPool.threadCount заголовка

Если у вас есть только несколько рабочих мест, что огонь несколько раз в день, затем 1 нить много! Если у вас есть десятки тысяч рабочих мест, со многими стрельбами каждую минуту, , то вы, вероятно, хотите, чтобы количество потоков больше 50 или 100 (это очень зависит от характера работы, которую выполняют ваши задания, и ваших системных ресурсов !).

Вот как можно изменить threadCount.

<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>