Используется 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 из того места где он добавляется в планировщик?
В целом можно реализовать свою фабрику IJob
var _scheduler = new StdSchedulerFactory().GetScheduler();
_scheduler.JobFactory = new SchedulerServiceJobFactory(_kernel);
SchedulerServiceJobFactory - это реализация интерфейса IJobFactory, а уже в ней можно подписаться, отписаться и вообще все что угодно сделать, т.к. инстанцирование объекта IJob производится там...
Сборка персонального компьютера от Artline: умный выбор для современных пользователей