Quartz:不要重复造轮子,一款企业级任务调度框架。

背景

第一次遇到定时执行某些任务的需求时,很多朋友可能设计了一个小类库,这个类图提高了一个接口,然后由调度器调度所有注册的接口类型,我就是其中之一,随着接触的开源项目越来越多,我的某些开发习惯受到了影响,其中比较重要的一个是:先查看一下有没有现成的开源项目可以满足需要,如果有,就尽量使用。本文介绍一款任务调度框架:Quartz。

Quartz

最好的学习地址:http://www.quartz-scheduler.net/documentation/index.html

Hello World!

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Threading.Tasks;
 6 
 7 using Quartz;
 8 using Quartz.Impl;
 9 
10 namespace QuartzStudy
11 {
12     class TimeReporter : IJob
13     {
14         public void Execute(IJobExecutionContext context)
15         {
16             Console.WriteLine(string.Format("当前时间是:{0}", DateTime.Now));
17         }
18     }
19 
20     class Program
21     {
22         static void Main(string[] args)
23         {
24             var scheduler = StdSchedulerFactory.GetDefaultScheduler();
25             scheduler.Start();
26 
27             var job = JobBuilder.Create<TimeReporter>()
28                 .WithIdentity("reporter", "group-a")
29                 .Build();
30             var trigger = TriggerBuilder.Create()
31                 .WithIdentity("test", "group-b")
32                 .StartNow()
33                 .WithSimpleSchedule(x => x
34                     .WithIntervalInSeconds(1)
35                     .RepeatForever())
36                 .Build();
37             scheduler.ScheduleJob(job, trigger);
38 
39         }
40     }
41 }

备注

认真阅读官方提高的文档,Quartz 保护的功能完全可以满足企业级项目。

 

posted on 2014-03-01 13:04  幸福框架  阅读(1125)  评论(0编辑  收藏  举报

导航

我要啦免费统计