当前位置: 首页 > 工具软件 > Quartz.NET > 使用案例 >

Quartz.NET

越琦
2023-12-01

Quartz.NET是什么?

Quartz.NET 是一个.NET 版的任务调度框架

作用

Quartz.NET允许开发人员根据时间间隔(或天)来调度作业。它实现了作业和触发器的多对多关系,还能把多个作业与不同的触发器关联。整合了Quartz.NET的应用程序可以重用来自不同事件的作业,还可以为一个事件组合多个作业
例如:每天某个时间执行任务、或者每隔一个时间段执行某个任务等

如何使用

1.定义要执行的任务:定义一个类,实现Quartz.IJob接口,实现方法Execute

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using Quartz;

namespace Quartz.NET
{
    public class TimeJob : IJob
    {
        void IJob.Execute(IJobExecutionContext context)
        {
        	//输出当前时间
            Console.WriteLine(DateTime.Now+"");
        }
    }
}

2.创建一个调度器:调度器负责管理与控制任务的执行

 //调度器
IScheduler scheduler;
//调度器工厂
ISchedulerFactory factory;
//1、创建一个调度器
factory = new StdSchedulerFactory();
scheduler = factory.GetScheduler();
scheduler.Start();

3.创建一个任务对象 任务对象就是我们将要执行的工作,job1是名称,group1是组名。

 IJobDetail job = JobBuilder.Create<TimeJob>().WithIdentity("job1", "group1").Build();

4.创建触发器:触发器定义了什么时间任务开始或每隔多久执行一次。

  ITrigger trigger = TriggerBuilder.Create()
                .WithIdentity("trigger1", "group1")
                .WithCronSchedule("0/5 * * * * ?")     //5秒执行一次 括号内的内容是Cron时间表达式
                                                       //.StartAt(runTime)
                .Build();

时间表达式生成工具:http://pan.baidu.com/s/1pL7Y2uf

5.将任务与触发器添加到调度器中并执行

//将任务与触发器添加到调度器中
scheduler.ScheduleJob(job, trigger);
//开始执行
scheduler.Start();

6.应用关闭时结束任务

if (scheduler != null)
{
	scheduler.Shutdown(true);
}
 类似资料: