你的位置:首页 > ASP.net教程

[ASP.net教程]Quartz.NET simple_demo


Quartz.NET是一个开源的作业调度框架,非常适合在平时的工作中,定时轮询数据库同步,定时邮件通知,定时处理数据等。 Quartz.NET允许开发人员根据时间间隔(或天)来调度作业。它实现了作业和触发器的多对多关系,还能把多个作业与不同的触发器关联。整合了 Quartz.NET的应用程序可以重用来自不同事件的作业,还可以为一个事件组合多个作业。

使用时需要引用:Quartz.dll

using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace demo1_querz.net{  class Program  {    static void Main(string[] args)    {      new SimpleExample1().Run();      Console.Read();    }  }}

 

配置简单定时任务

using Quartz;using Quartz.Impl;using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace demo1_querz.net{  class SimpleExample1:IExample  {    public string Name    {      get { return "Simple Task One"; }    }    public virtual void Run()    {      // First we must get a reference to a scheduler      ISchedulerFactory sf = new StdSchedulerFactory();      IScheduler sched = sf.GetScheduler();      // job 1 will run every 20 seconds      IJobDetail job = JobBuilder.Create<SimpleJobOne>()        .WithIdentity("job1", "group1")        .Build();      ICronTrigger trigger = (ICronTrigger)TriggerBuilder.Create()                           .WithIdentity("trigger1", "group1")                           .WithCronSchedule("10 0/1 * * * ? ")                           .Build();      DateTimeOffset ft = sched.ScheduleJob(job, trigger);      sched.Start();    }  }}

 

using Quartz;using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace demo1_querz.net{  public class SimpleJobOne:IJob  {
//需要继承IJob public virtual void Execute(IJobExecutionContext context) { JobKey jobkey = context.JobDetail.Key; new SendMsg().FuRun(); } }}

 

需要执行的方法

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace demo1_querz.net{  public class SendMsg  {    public void FuRun()    {      Console.WriteLine("Prefrom Simple Task One time as "+DateTime.Now.ToString());    }  }}

 

运行结果为:每分钟执行一次 Simple Task One

 

 

参考

 

官方学习文档:http://www.quartz-scheduler.net/documentation/index.html

使用实例介绍:http://www.quartz-scheduler.net/documentation/quartz-2.x/quick-start.html