Content

.NET6+Quartz实现定时任务的示例详解(c#任务调度框架)没想到

文章摘要

这篇文章介绍了一个名为`TestSchedulerListener`的Java类,继承自`ISchedulerListener`接口。该类实现了多个与调度任务相关的事件监听功能,包括`JobAdded`、`JobDeleted`、`JobInterrupted`、`JobPaused`、`JobResumed`、`JobScheduled`、`JobsPaused`、`JobsResumed`、`JobUnscheduled`、`SchedulerError`、`SchedulerInStandbyMode`、`SchedulerShutdown`、`SchedulerShuttingdown`、`SchedulerStarted`、`SchedulerStarting`、`SchedulingDataCleared`、`TriggerFinalized`、`TriggerPaused`和`TriggersResumed`等方法。每个方法都返回一个`Task`,并在任务执行时打印一条日志消息,记录相应的事件。这些方法主要处理任务的添加、删除、暂停、恢复、重新调度等操作,以及错误处理和状态变化。

public class TestSchedulerListener : ISchedulerListener { public Task JobAdded(IJobDetail jobDetail, CancellationToken cancellationToken=default) { return Task.Run(()=> { Console.WriteLine(“Test Job is added.”); }); } public Task JobDeleted(JobKey jobKey, CancellationToken cancellationToken=default) { return Task.Run(()=> { Console.WriteLine(“Test Job is deleted.”); }); } public Task JobInterrupted(JobKey jobKey, CancellationToken cancellationToken=default) { return Task.Run(()=> { Console.WriteLine(“Test Job is Interrupted.”); }); } public Task JobPaused(JobKey jobKey, CancellationToken cancellationToken=default) { return Task.Run(()=> { Console.WriteLine(“Test Job is paused.”); }); } public Task JobResumed(JobKey jobKey, CancellationToken cancellationToken=default) { return Task.Run(()=> { Console.WriteLine(“Test Job is resumed.”); }); } public Task JobScheduled(ITrigger trigger, CancellationToken cancellationToken=default) { return Task.Run(()=> { Console.WriteLine(“Test Job is scheduled.”); }); } public Task JobsPaused(string jobGroup, CancellationToken cancellationToken=default) { return Task.Run(()=> { Console.WriteLine(“Test Jobs is paused.”); }); } public Task JobsResumed(string jobGroup, CancellationToken cancellationToken=default) { return Task.Run(()=> { Console.WriteLine(“Test Jobs is resumed.”); }); } public Task JobUnscheduled(TriggerKey triggerKey, CancellationToken cancellationToken=default) { return Task.Run(()=> { Console.WriteLine(“Test Jobs is un schedulered.”); }); } public Task SchedulerError(string msg, SchedulerException cause, CancellationToken cancellationToken=default) { return Task.Run(()=> { Console.WriteLine(“Test scheduler is error.”); }); } public Task SchedulerInStandbyMode(CancellationToken cancellationToken=default) { return Task.Run(()=> { Console.WriteLine(“Test scheduler is standby mode.”); }); } public Task SchedulerShutdown(CancellationToken cancellationToken=default) { return Task.Run(()=> { Console.WriteLine(“Test scheduler is shut down.”); }); } public Task SchedulerShuttingdown(CancellationToken cancellationToken=default) { return Task.Run(()=> { Console.WriteLine(“Test scheduler is shutting down.”); }); } public Task SchedulerStarted(CancellationToken cancellationToken=default) { return Task.Run(()=> { Console.WriteLine(“Test scheduleer is started.”); }); } public Task SchedulerStarting(CancellationToken cancellationToken=default) { return Task.Run(()=> { Console.WriteLine(“Test scheduler is starting.”); }); } public Task SchedulingDataCleared(CancellationToken cancellationToken=default) { return Task.Run(()=> { Console.WriteLine(“Test scheduling is cleared.”); }); } public Task TriggerFinalized(ITrigger trigger, CancellationToken cancellationToken=default) { return Task.Run(()=> { Console.WriteLine(“Test trigger is finalized.”); }); } public Task TriggerPaused(TriggerKey triggerKey, CancellationToken cancellationToken=default) { return Task.Run(()=> { Console.WriteLine(“Test trigger is paused.”); }); } public Task TriggerResumed(TriggerKey triggerKey, CancellationToken cancellationToken=default) { return Task.Run(()=> { Console.WriteLine(“Test trigger is resumed.”); }); } public Task TriggersPaused(string? triggerGroup, CancellationToken cancellationToken=default) { return Task.Run(()=> { Console.WriteLine(“Test triggers is paused.”); }); } public Task TriggersResumed(string? triggerGroup, CancellationToken cancellationToken=default) { return Task.Run(()=> { Console.WriteLine(“Test triggers is resumed.”); }); } }