QUARTZ.NET 一个定时任务框架

<1>

Quartz.NET-1.0.3文件下载地址(这是老版本了,,现在已经有新版本了。用法好像不一样了)

首先要添加Quartz.NET-1.0.3 文件下面的 bin/3.5/Release/Quartz/ 目录下面的Common.Logging.dll文件和Quartz.dll文件 然后添加引用。将连个文件引入到项目中来

using Quartz;using Quartz.Impl;using System;using System.Collections.Generic;using System.Linq;using System.Threading.Tasks;using System.Windows.Forms;namespace 测试定时任务{static class Program{/// <summary>/// 应用程序的主入口点。/// </summary>[STAThread]static void Main(){/*QUARTZ.NET 是一个定时任务框架 概念: 计划者:IScheduler; 工作 IJob; 触发器:Trigger;我们先得到一个计划者(IScheduler) 然后创建一个任务工作(IJob),把这个任务扔给计划者,并且告诉它在什么条件下(触发器Trigger)做这件事将要定时执行的任务的代码写到IJob接口的Execute方法中即可,时间到来的时候Execute方法会被调用CrondTrigger是通过Crond表达式设置的触发器,还有SimpleTrigger等简单的触发器,可以通过TriggerUtils的MakeDailyTrigger(每天执行一次),MakeHourlyTrigger(每小时执行一次) 等方法简化调用。*/IScheduler sched;ISchedulerFactory sf = new StdSchedulerFactory();sched = sf.GetScheduler(); //这是一个计划者JobDetail job = new JobDetail("job1", "group1", typeof(TestJob));//TestJob为实现了IJob接口的类 ,需要我们自己定义的,那么我们就在项目下添加一个TestJob类。并让它去实现Ijob接口。DateTime ts = TriggerUtils.GetNextGivenSecondDate(null, 5);//5秒后开始第一次运行//TimeSpan interval = TimeSpan.FromHours(1);//每隔1小时执行一次//TimeSpan interval = TimeSpan.FromSeconds(5); //每隔5秒钟执行一次//Trigger trigger = new SimpleTrigger("trigger1", "group1", "job1", "group1", ts, null,//SimpleTrigger.RepeatIndefinitely, interval);//每若干小时运行一次,小时间隔由appsettings中的IndexIntervalHour参数指定Trigger trigger = TriggerUtils.MakeDailyTrigger("tigger1", 0, 37); //(每天执行)让它在9点46的时候执行//Trigger trigger = TriggerUtils.MakeHourlyTrigger("tigger1",1,2);//(每小时执行)让它每间隔一小时执行两次次//Trigger trigger = TriggerUtils.MakeImmediateTrigger("tigger1",2,TimeSpan.FromSeconds(5));//(立即执行)5秒钟执行一次,总共执行2次。也就是说在10秒钟内执行了2次。执行完这两次后就不再执行了。//Trigger trigger = TriggerUtils.MakeMonthlyTrigger("tigger1",12,13,5);//(每月执行)在5月12日13点执行//等等,还有很多方法。trigger.JobName = "job1";trigger.JobGroup = "group1";trigger.Group = "group1";sched.AddJob(job, true);sched.ScheduleJob(trigger);sched.Start();Application.EnableVisualStyles();Application.SetCompatibleTextRenderingDefault(false);Application.Run(new Form1());sched.Shutdown(true);}}}

using Quartz;using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using System.Windows.Forms;namespace 测试定时任务{class TestJob : IJob //在这里我们让TestJob类继承IJob接口,并实现这个接口。我们看到其实这个接口里只有一个Execute方法。{public void Execute(JobExecutionContext context){//throw new NotImplementedException();MessageBox.Show("任务执行啦!"); //我们就在这个方法里弹出一个“任务执行啦!”的窗口吧。}}}



要做一个积极勇敢乐观的追梦人,永远不说消极的话,

QUARTZ.NET 一个定时任务框架

相关文章:

你感兴趣的文章:

标签云: