- 首先需要引入 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();