SchedulerListeners are much like ITriggerListeners and IJobListeners, except they receive notification of events within the scheduler itself - not necessarily events related to a specific trigger or job.
Scheduler-related events include: the addition of a job/trigger, the removal of a job/trigger, a serious error within the scheduler, notification of the scheduler being shutdown, and others.
The ISchedulerListener Interface
public interface ISchedulerListener
{
void JobScheduled(Trigger trigger);
void JobUnscheduled(string triggerName, string triggerGroup);
void TriggerFinalized(Trigger trigger);
void TriggersPaused(string triggerName, string triggerGroup);
void TriggersResumed(string triggerName, string triggerGroup);
void JobsPaused(string jobName, string jobGroup);
void JobsResumed(string jobName, string jobGroup);
void SchedulerError(string msg, SchedulerException cause);
void SchedulerShutdown();
}
SchedulerListeners are registered with the scheduler's ListenerManager. SchedulerListeners can be virtually any object that implements the ISchedulerListener interface.
Adding a SchedulerListener:
scheduler.ListenerManager.AddSchedulerListener(mySchedListener);
Removing a SchedulerListener:
scheduler.ListenerManager.RemoveSchedulerListener(mySchedListener);