Настройка Quartz.NET MisfireInstruction

Я работаю на С#, используя Quartz.NET, и у меня возникают проблемы с установкой инструкции осечки на CronTrigger. Я запускаю серверную часть SQL с установленной базой данных Quartz. У меня есть следующий код, который отлично работает для создания задания и запуска планировщика.

IScheduler _scheduler;
IJobDetail job;
ISchedulerFactory sFactory;
ICronTrigger trig;

sFactory = new StdSchedulerFactory();

_scheduler = sFactory.GetScheduler();
_scheduler.Start();

job = JobBuilder.Create<Test>().WithIdentity("testJob", "testGroup").Build();
trig = (ICronTrigger) TriggerBuilder.Create().WithIdentity("testTrigger", "testGroup").WithCronSchedule("0/10 * * * * ?").Build(); int i = trig.MisfireInstruction;

_scheduler.ScheduleJob(job, trig);

Единственная инструкция по ошибке, к которой я могу получить доступ, это trig.MisfireInstruction, которая является целым числом, и я не могу ее установить. Также есть некоторые функции, начинающиеся с WithMisfireHandlingInstruction в CronScheduleBuilder.


person Ben Catterall    schedule 27.11.2012    source источник
comment
MisfireInstruction.CronTrigger.FireOnceNow может это то, что я ищу...?   -  person Ben Catterall    schedule 27.11.2012
comment
Я отредактировал ваш заголовок. См. Должны ли вопросы включать «теги» в свои заголовки?, если нет единого мнения, не следует.   -  person John Saunders    schedule 27.11.2012


Ответы (1)


Ваше создание триггера должно быть таким:

trig = (ICronTrigger)TriggerBuilder
       .Create()
       .WithIdentity("testTrigger", "testGroup")
       .WithCronSchedule("0/10 * * * * ?", x => x.WithMisfireHandlingInstructionFireAndProceed())
       .Build();

вы можете использовать эти параметры:

  • WithMisfireHandlingInstructionDoNothing
  • WithMisfireHandlingInstructionFireAndProceed
  • WithMisfireHandlingInstructionIgnoreMisfires

Вы можете найти хорошее объяснение здесь.

person LeftyX    schedule 28.11.2012
comment
Отлично, это именно то, что мне было нужно. Спасибо! - person Ben Catterall; 28.11.2012
comment
Рад, что помог. Вы всегда можете проголосовать за меня в будущем :-) Удачи. - person LeftyX; 28.11.2012
comment
ссылка битая :( - person stambikk; 12.08.2020
comment
@stambikk: исправлено. - person LeftyX; 12.08.2020