Quartz.NET实现作业调度
1、安装
一、安装更新Nuget
打开VS菜单“工具”->"扩展与更新"安装更新nuget
二、修改Nuget镜像
打开VS“工具”->“选项”菜单找到“NuGet包管理器”添加
https://nuget.cnblogs.com/v3/index.json
http://api.nuget.org/v3/index.json
https://www.nuget.org/api/v2/
(默认最后)
(注意顺序)
三、安装Quartz.NET
点击“工具”->"NuGet包管理器"->“程序包管理器控制台”
输入Install-Package Quartz
2代码
1、Global.asax
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
//在这里调用
ReportJobScheduler.Start();
}
2、新增eportJobScheduler类
public class ReportJobScheduler
{
public static void Start()
{
IScheduler scheduler = StdSchedulerFactory.GetDefaultScheduler(); //从工厂中获取一个调度器实例化
scheduler.Start(); //开始调度器
IJobDetail job = JobBuilder.Create<ReportJob>().Build();//创建一个作业
ITrigger trigger = TriggerBuilder.Create()
.WithSimpleSchedule(t =>
t.WithIntervalInSeconds(300) //触发执行,10s一次
.RepeatForever()) //重复执行
.Build();
scheduler.ScheduleJob(job, trigger); //把作业,触发器加入调度器。
}
}
3、新增 ReportJob
public class ReportJob : IJob
{
private UseRecordApp useRecordApp = new UseRecordApp();
public void Execute(IJobExecutionContext context)//必须实现IJob接口下的Execute方法
{
useRecordApp.ManipulationData();
}
}