2015-10-07 4 views
0

У меня есть кварцевая график работы следующим образом:Кварц очереди планирования до пропущенных плановых заданий

_scheduler.ScheduleJob(job, 
    TriggerBuilder.Create().ForJob(job) 
     .WithSimpleSchedule(x =>            
     x.WithIntervalInSeconds(requeryTime.ToInt32()) 
     .RepeatForever() 
     .WithMisfireHandlingInstructionNowWithRemainingCount()            
    )           
    .StartNow() 
    .Build()) 

Для тестирования у меня есть график запуска каждые 10 секунд. Если я приостанавливаю службу и затем возобновляю, я все равно могу видеть, что все задания вызываются один за другим. Я хочу, чтобы Quartz игнорировал (не ставил в очередь) работу и просто возобновлял расписание. , например. Если задание выполняется каждые 10 секунд, и я приостанавливаю службу в течение 1 минуты, я быстро запускаю 6 заданий.

Как я могу обеспечить, чтобы Quartz игнорировал эти задания?

+0

Любые отзывы об этом? – LeftyX

+0

Мне нужно переоценить условия, которые вызывают это. Я приостановил свое приложение в окне консоли, и я не уверен, что это хороший тест. Приостановка приложения эффективно приостанавливает планировщик кварца и поэтому рассылает задания сразу (очереди их). Я не уверен, что это то же самое, что и запланированные задания, пока он уже занят. – user183872

ответ

0

Короткий ответ заключается в изменении misfireThreshold в конфигурации:

<add key="quartz.jobStore.misfireThreshold" value="60000" /> 

по умолчанию 60000 миллисекунд (60 секунд).

org.quartz.jobStore.misfireThreshold

количество миллисекунд планировщик «терпеть» триггер передать его следующего огненного время мимо, перед тем, как считается «осечка». Значение по умолчанию (если вы не ввели это свойство в свою конфигурацию ) составляет 60000 (60 секунд).

Поскольку ваш триггер работает каждые 10 секунд, вы можете уменьшить порог до 9 секунд, и он должен работать так, как вы ожидаете.

Если вы хотите узнать больше о связанных с этим стратегиях, вы можете прочитать это также article и this.

Аналогичный вопрос был задан повторно и Circular Reference дал действительно хороший answer.

 Смежные вопросы

  • Нет связанных вопросов^_^