- 首先需要引入 Quartz.Net 的命名空间,例如:
using Quartz; using Quartz.Impl;
- 然后创建一个调度器工厂(SchedulerFactory),并使用该工厂创建一个调度器(IScheduler)对象:
ISchedulerFactory schedulerFactory = new StdSchedulerFactory(); IScheduler scheduler = await schedulerFactory.GetScheduler();
- 创建一个任务(IJob)类,该类需要实现 Execute 方法。例如:
public class MyJob : IJob { public Task Execute(IJobExecutionContext context) {
- 创建一个触发器(ITrigger)对象,并设置触发器的运行时间、运行频率等属性。例如:
ITrigger trigger = TriggerBuilder.Create() .WithIdentity("myTrigger", "group1") .StartNow() .WithSimpleSchedule(x => x .WithIntervalInSeconds(10) .RepeatForever()) .Build();
- 将任务和触发器加入调度器中:
IJobDetail job = JobBuilder.Create<MyJob>() .WithIdentity("myJob", "group1") .Build(); await scheduler.ScheduleJob(job, trigger);
- 启动调度器:
await scheduler.Start();
- 暂停调度器:
await scheduler.PauseAll();
- 恢复调度器:
await scheduler.ResumeAll();
- 删除调度器中的任务和触发器:
await scheduler.DeleteJob(new JobKey("myJob", "group1"));
- 停止调度器:
await scheduler.Shutdown();