Как получить подробную информацию обо всех запланированных заданиях и триггерах в Quartz.NET c # - PullRequest
7 голосов
/ 15 июля 2011

Мне нужно создать страницу администрирования всех запланированных заданий и триггеров. Как я могу получить подробную информацию о запущенных заданиях и триггерах в Quartz.NET? Могу ли я приостановить / остановить или обновить задания? Есть ли пример кода?

Ответы [ 2 ]

13 голосов
/ 17 июля 2011

Вот как вы можете это сделать, используя StdSchedulerFactory

ISchedulerFactory schedFact = new StdSchedulerFactory();
foreach (IScheduler scheduler in schedFact.AllSchedulers)
{
    var scheduler1 = scheduler;
    foreach (var jobDetail in from jobGroupName in scheduler1.JobGroupNames
                              from jobName in scheduler1.GetJobNames(jobGroupName)
                              select scheduler1.GetJobDetail(jobName, jobGroupName))
    {
         //Get props about job from jobDetail
    }

    foreach (var triggerDetail in from triggerGroupName in scheduler1.TriggerGroupNames
                                  from triggerName in scheduler1.GetTriggerNames(triggerGroupName)
                                  select scheduler1.GetTrigger(triggerName, triggerGroupName))
    {
         //Get props about trigger from triggerDetail
    }
}
10 голосов
/ 15 июля 2011

Вот открытый проект, который делает именно это. Проект должен иметь весь код, который вам нужен, чтобы создать свой собственный, или вы можете просто использовать проект с открытым исходным кодом.

Веб-страница администратора для Quartz.net

  1. Разрешить регистрацию существующих установок Quartz.net
  2. Разрешить просмотр заданий и триггеров
  3. Разрешить планирование заданий, включая редактирование JobDataMaps
  4. Разрешить просмотр календарей
  5. Разрешить просмотр времени срабатывания триггера
  6. Временная шкала на основе Silverlight, показывающая предстоящие расписания
...