Quartz.Net 调度器

  1. 首先需要引入 Quartz.Net 的命名空间,例如:
 
using Quartz; using Quartz.Impl; 
  1. 然后创建一个调度器工厂(SchedulerFactory),并使用该工厂创建一个调度器(IScheduler)对象:
 
ISchedulerFactory schedulerFactory = new StdSchedulerFactory(); IScheduler scheduler = await schedulerFactory.GetScheduler(); 
  1. 创建一个任务(IJob)类,该类需要实现 Execute 方法。例如:
 
public class MyJob : IJob { public Task Execute(IJobExecutionContext context) { // 执行任务的代码逻辑 return Task.CompletedTask; } } 
  1. 创建一个触发器(ITrigger)对象,并设置触发器的运行时间、运行频率等属性。例如:
 
ITrigger trigger = TriggerBuilder.Create() .WithIdentity("myTrigger", "group1") .StartNow() .WithSimpleSchedule(x => x .WithIntervalInSeconds(10) .RepeatForever()) .Build(); 
  1. 将任务和触发器加入调度器中:
 
IJobDetail job = JobBuilder.Create<MyJob>() .WithIdentity("myJob", "group1") .Build(); await scheduler.ScheduleJob(job, trigger); 
  1. 启动调度器:
 
await scheduler.Start(); 
  1. 暂停调度器:
 
await scheduler.PauseAll(); 
  1. 恢复调度器:
 
await scheduler.ResumeAll(); 
  1. 删除调度器中的任务和触发器:
 
await scheduler.DeleteJob(new JobKey("myJob", "group1")); 
  1. 停止调度器:
 
await scheduler.Shutdown();
posted @ 2023-05-25 14:30  陌陌逸帆  阅读(46)  评论(0编辑  收藏  举报