CancellationToken cancellationToken = default ){ await Task
Quartz.框架的监听器和日志
1.JobListener 任务日志
新建一个类,担任IJobListener
public class CustomJobListener : IJobListener { public string Name => "CustomJobListener"; /// <summary> /// 遏制执行 /// </summary> /// <param></param> /// <param></param> /// <returns></returns> public async Task JobExecutionVetoed(IJobExecutionContext context, CancellationToken cancellationToken = default) { await Task.Run(()=> { Console.WriteLine("遏制执行"); }); } /// <summary> /// 待执行 /// </summary> /// <param></param> /// <param></param> /// <returns></returns> public async Task JobToBeExecuted(IJobExecutionContext context, CancellationToken cancellationToken = default) { await Task.Run(() => { Console.WriteLine("待执行"); }); } /// <summary> /// 已执行 /// </summary> /// <param></param> /// <param></param> /// <param></param> /// <returns></returns> public async Task JobWasExecuted(IJobExecutionContext context, JobExecutionException jobException, CancellationToken cancellationToken = default) { await Task.Run(() => { Console.WriteLine("已执行"); }); } }
View Code添加到Scheduler 任务单元
scheduler.ListenerManager.AddJobListener(new CustomJobListener());
2.TriggerListener 时间计谋日志
新建一个类,担任ITriggerListener
public class CustomTriggerListener : ITriggerListener { public string Name => "CustomTriggerListener"; /// <summary> /// 任务完成时触发 /// </summary> /// <param></param> /// <param></param> /// <param></param> /// <param></param> /// <returns></returns> public async Task TriggerComplete(ITrigger trigger, IJobExecutionContext context, SchedulerInstruction triggerInstructionCode, CancellationToken cancellationToken = default) { await Task.Run(() => { Console.WriteLine("TriggerComplete"); }); } /// <summary> ///Trigger被激发 它关联的job即将被运行 /// </summary> /// <param></param> /// <param></param> /// <param></param> /// <returns></returns> public async Task TriggerFired(ITrigger trigger, IJobExecutionContext context, CancellationToken cancellationToken = default) { await Task.Run(() => { Console.WriteLine("TriggerFired"); }); } /// <summary> /// 当Trigger错过被激发时执行,好比当前时间有很多触发器都需要执行,但是线程池中的有效线程都在事情, /// 那么有的触发器就有可能超时,,错过这一轮的触发。 /// </summary> /// <param></param> /// <param></param> /// <returns></returns> public async Task TriggerMisfired(ITrigger trigger, CancellationToken cancellationToken = default) { await Task.Run(()=> { Console.WriteLine("TriggerMisfired"); }); } /// <summary> /// 如果返回true 则打消任务, 返回false 则继续执行 /// </summary> /// <param></param> /// <param></param> /// <param></param> /// <returns></returns> public async Task<bool> VetoJobExecution(ITrigger trigger, IJobExecutionContext context, CancellationToken cancellationToken = default) { return true; } }
View Code添加到Scheduler 任务单元
scheduler.ListenerManager.AddJobListener(new CustomJobListener());
3.SchedulerListener
新建一个类,担任ISchedulerListener
温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/web/33164.html