2.0版本請參考https://www.cnblogs.com/best/p/7658573.html 這里的文章很詳細:
我們現在想每5秒鍾往txt文件夾里存儲一個時間
首先:定義一個類,實現Quartz.IJob接口,實現方法Execute,TimeJob.cs文件的代碼如下:
using Quartz;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace MvcApplication1
{
public class TimeJob : IJob
{
public void Execute(IJobExecutionContext context)
{
//向c:\Quartz.txt寫入當前時間並換行
System.IO.File.AppendAllText(@"c:\Quartz.txt", DateTime.Now+Environment.NewLine);
}
}
}
現在Quartz.NET3.0 操作如下:和2.0版本還是有預定的區別,引入了TASK相關的概念,具體參照 https://www.quartz-scheduler.net/documentation/quartz-3.x/migration-guide.html
//1,調度器
Task<IScheduler> taskScheduler;
IScheduler scheduler1;
//調度器工廠
ISchedulerFactory factory = new StdSchedulerFactory();
//創建一個調度器
taskScheduler = factory.GetScheduler();
scheduler1 = taskScheduler.Result;
IJobDetail job = JobBuilder.Create<TimeJob>().WithIdentity("job1", "group1").Build();
//3、創建一個觸發器
//ITrigger trigger = TriggerBuilder.Create()
// .WithIdentity("trigger1", "group1")
// .WithCronSchedule("0/5 * * * * ?") //5秒執行一次
// .Build();
//3.1另外一種觸發器
ISimpleTrigger trigger1 = (ISimpleTrigger)TriggerBuilder.Create()
.WithIdentity("trigger1", "group1")
.StartNow().WithSimpleSchedule(x => x.WithIntervalInSeconds(5).RepeatForever()).Build();
//4、將任務與觸發器添加到調度器中
//scheduler1.ScheduleJob(job, trigger);
scheduler1.ScheduleJob(job, trigger1);
//5、開始執行
scheduler1.Start();
