Подписаться на событие внутри job

193
22 марта 2017, 14:25

Используется Quartz.NET. Есть класс

class SampleJob : IJob
{
   public delegate void SampleNotification(string message);
   public event SampleNotification OnEvent;  
   public void Execute(IJobExecutionContext context)
   {
       OnEvent(messageString);
   }
}

создаю планировщик:

var job = JobBuilder.Create<SampleJob>().WithIdentity(jobName, groupName).Build();
var trigger =
    (ICronTrigger)
        TriggerBuilder.Create()
            .WithIdentity(triggerName, groupName)
            .WithCronSchedule(cronLine)
            .Build();
//добавляю job и trigger в Scheduler 

Возможно ли подписаться на event внутри Execute SampleJob из того места где он добавляется в планировщик?

Answer 1

В целом можно реализовать свою фабрику IJob

var _scheduler = new StdSchedulerFactory().GetScheduler();
_scheduler.JobFactory = new SchedulerServiceJobFactory(_kernel);

SchedulerServiceJobFactory - это реализация интерфейса IJobFactory, а уже в ней можно подписаться, отписаться и вообще все что угодно сделать, т.к. инстанцирование объекта IJob производится там...

READ ALSO
C# Invoke Chart

C# Invoke Chart

Нужно сделать так чтобы было видно построение объекта в Chart, но при это не зависала программаЕсть код без Invoke устраивает скорость, но зависает...

226
Упорядочить по убыванию 4 числа [требует правки]

Упорядочить по убыванию 4 числа [требует правки]

Написать программу которая упорядочивает 4 числа по убыванию используя только конструкцию if

204
Ошибка добавления строки DataGridView

Ошибка добавления строки DataGridView

При попытки добавить данные в DataGridView,

238