最近,由于工作需要,做了一个作业调度的小软件。先上两张效果图。
一、效果图
作业启动状态
作业停止状态
二、Quartz
先创建一个类库,新建一个TaskJob类用来执行任务。
正如你所见,一个继承了IJob的TaskJob,将要执行的任务统统放在Execute中即可!
三、作业调度
创建一个WinForm项目,并添加对Quartz.dll和类库的引用。
JobConfig.xml
新建一个JobConfig.xml文件,指定TaskJob并配置Job的触发时间。
可以指定具体的执行时间,如<cron-expression>0 50 9 ? * *</cron-expression> 表示每天9点50点触发。
也可以指定为一段时间内重复多少次,如 <cron-expression>0 0/1 8-20 ? * MON-FRI</cron-expression> 表示周一到周五每天的8点到20点,每一分钟触发一次。
HandleMask
创建一个类,用来控制Job的开启和停止。
start的时候会根据JobConfig.xml中的配置调度TaskJob中的Execute。
控制器
控制器的主要功能是启动和停止对作业的调度。
初始化
同时,在窗体初始化时,就启动了作业。
batch = new HandleMask();
batch.Start();
作业启动事件
作业停止事件
退出事件
辅助功能
禁止最大化:MaximizeBox:false;
禁止调整窗体大小: FormBorderStyle:FixedSingle
点击关闭时最小化
四、源码下载
原文地址:http://www.cnblogs.com/tenghoo/archive/2010/02/09/quartz.html