在Quartz.Net中,使用CronTrigger需要以下步驟:
IScheduler
實例,可以使用StdSchedulerFactory
類來創建。ISchedulerFactory schedulerFactory = new StdSchedulerFactory();
IScheduler scheduler = schedulerFactory.GetScheduler();
IJob
實現類,該類包含要執行的任務邏輯。public class MyJob : IJob
{
public Task Execute(IJobExecutionContext context)
{
// 執行任務邏輯
return Task.CompletedTask;
}
}
JobBuilder
創建一個IJobDetail
實例,并將任務邏輯類添加到其中。IJobDetail job = JobBuilder.Create<MyJob>()
.WithIdentity("myJob", "group1")
.Build();
ITrigger
實例,并使用CronScheduleBuilder
定義觸發器的調度時間。ITrigger trigger = TriggerBuilder.Create()
.WithIdentity("myTrigger", "group1")
.WithSchedule(CronScheduleBuilder.CronSchedule("0 0/5 * * * ?")) // 每5分鐘執行一次
.Build();
scheduler.ScheduleJob(job, trigger);
scheduler.Start();
這樣,你就可以使用Cron表達式來定義任務的調度時間了。