Quartz.Net cron триггер C # - PullRequest
       22

Quartz.Net cron триггер C #

0 голосов
/ 20 января 2012

Я использую Quartz.NET для планирования заданий в моем приложении ASP.NET, и я создал один триггер в моем global.asax файле:

// Code that runs on application startup
ISchedulerFactory schedFact = new StdSchedulerFactory();
// get a scheduler
IScheduler sched = schedFact.GetScheduler();
sched.Start();
// construct job info
JobDetail jobDetail = new JobDetail("mySendMailJob", typeof(SendMailJob));

SimpleTrigger trigger = new SimpleTrigger("myTrigger",
                        null,
                        DateTime.UtcNow,
                        null,
                        SimpleTrigger.RepeatIndefinitely,
                        TimeSpan.FromSeconds(60));

sched.ScheduleJob(jobDetail, trigger);

Этот код отлично работает для меня и срабатываетчерез каждую минуту и ​​выполняет требуемую работу.

Я пытался создать еще один триггер таким образом, чтобы срабатывать в определенное время дня, например, в 10.00, но у меня это не работает.Я также хочу создать инструкции по пропуску огня.Предположим, мой триггер не срабатывает в определенное время;как получить инструкции о пропусках зажигания, чтобы перезагрузить мой триггер для выполнения работы?

ISchedulerFactory schedFact = new StdSchedulerFactory();
// get a scheduler
IScheduler sched = schedFact.GetScheduler();
sched.Start();
// construct job info
JobDetail jobDetail = new JobDetail("mySendMailJob", typeof(SendMailJob));

Trigger trigger2 = TriggerUtils.MakeDailyTrigger(10, 00);

// schedule the job for execution
//trigger2.Name = "mySendMailTrigger";
sched.ScheduleJob(jobDetail, trigger2);

Ответы [ 2 ]

1 голос
/ 20 января 2012

Вы можете использовать формулу триггера cron с CronMaker , просто как:

0 0 10 1/1 * ? *

И создать класс CronTrigger для его использования, см. Документацию ,извините, у меня нет примера сейчас, но если вы не можете сделать это, я отправлю завтра.

0 голосов
/ 20 января 2012

Можете ли вы попытаться сохранить schedFact в статической переменной?

Это решило проблему здесь:

Quartz.Net, встроенный в Asp.NET MVC2, не запускающий задания

...