Quartz.Net中CronTrigger怎么使用

小億
101
2023-09-12 23:20:45

在Quartz.Net中,使用CronTrigger需要以下步驟:

  1. 創(chuàng)建一個(gè)IScheduler實(shí)例,可以使用StdSchedulerFactory類(lèi)來(lái)創(chuàng)建。
ISchedulerFactory schedulerFactory = new StdSchedulerFactory();
IScheduler scheduler = schedulerFactory.GetScheduler();
  1. 定義一個(gè)IJob實(shí)現(xiàn)類(lèi),該類(lèi)包含要執(zhí)行的任務(wù)邏輯。
public class MyJob : IJob
{
public Task Execute(IJobExecutionContext context)
{
// 執(zhí)行任務(wù)邏輯
return Task.CompletedTask;
}
}
  1. 使用JobBuilder創(chuàng)建一個(gè)IJobDetail實(shí)例,并將任務(wù)邏輯類(lèi)添加到其中。
IJobDetail job = JobBuilder.Create<MyJob>()
.WithIdentity("myJob", "group1")
.Build();
  1. 創(chuàng)建一個(gè)ITrigger實(shí)例,并使用CronScheduleBuilder定義觸發(fā)器的調(diào)度時(shí)間。
ITrigger trigger = TriggerBuilder.Create()
.WithIdentity("myTrigger", "group1")
.WithSchedule(CronScheduleBuilder.CronSchedule("0 0/5 * * * ?")) // 每5分鐘執(zhí)行一次
.Build();
  1. 將任務(wù)和觸發(fā)器添加到調(diào)度器中。
scheduler.ScheduleJob(job, trigger);
  1. 啟動(dòng)調(diào)度器。
scheduler.Start();

這樣,你就可以使用Cron表達(dá)式來(lái)定義任務(wù)的調(diào)度時(shí)間了。

0