SchedulerListeners与ITriggerListeners和IJobListeners非常相似,只是它们接收调度程序本身内的事件通知 - 不一定与特定触发器或作业相关的事件。
与调度程序相关的事件包括:添加作业/触发器,删除作业/触发器,调度程序中出现严重错误,调度程序正在关闭的通知等。
ISchedulerListener接口
public interface ISchedulerListener
{
Task JobScheduled(Trigger trigger);
Task JobUnscheduled(string triggerName, string triggerGroup);
Task TriggerFinalized(Trigger trigger);
Task TriggersPaused(string triggerName, string triggerGroup);
Task TriggersResumed(string triggerName, string triggerGroup);
Task JobsPaused(string jobName, string jobGroup);
Task JobsResumed(string jobName, string jobGroup);
Task SchedulerError(string msg, SchedulerException cause);
Task SchedulerShutdown();
}
SchedulerListeners在调度程序的ListenerManager中注册。SchedulerListeners实际上可以是实现ISchedulerListener接口的任何对象。
添加一个SchedulerListener:
scheduler.ListenerManager.AddSchedulerListener(mySchedListener);
删除SchedulerListener:
scheduler.ListenerManager.RemoveSchedulerListener(mySchedListener);