Quartz.Net和Cron 初体验
【本人原创】,欢迎交流和分享技术,转载请附上如下内容:
作者:itshare 【转自】http://www.cnblogs.com/itshare/
我这两天研究了一下Quartz.Net 和 cron 语法表达式,自己封装了一下实现计划任务管理器。
它与网上其他开源后项目的比较,优势如下:
1.调用代码只要四行(图2),
2. 配置文件简单化(图3),
3.不需要对原有JOB程序做任何修改(图3),
它与网上其他开源后项目的比较,优势如下:
1.调用代码只要四行(图2),
2. 配置文件简单化(图3),
3.不需要对原有JOB程序做任何修改(图3),
4.同一个计划任务,可配置前一次实例结束才执行后一次实例(图1)。
1. 自定义宿主程序,开启和控制Quartz.Net的任务调度频率和并行模式(比如不同计划任务可以同时执行,但是同一个计划任务,必须前一次实例执行完毕,才能执行下一次实例)。
下面第一个窗口为Quartz.Net自定义宿主程序:显示 进程ID + 进程SessionId + 线程ID
第二个窗口显示为出发调用的外部可执行程序:显示 进程ID + 进程SessionId + 线程ID
任务管理器和计划调度,效果截图如下:
2. 寄宿程序的调用代码,采用面向接口编程(便于后续扩展使用其他渠道的计划任务的类库)
四行代码就可以搞定所有事情,如下图:
3. 宿主的配置文件,如下:
主要参数:
TaskId = 计划任务唯一标识
TaskCron = cron表达式 , 用来灵活控制计划任务的执行频率和周期
Exe_Path = 外部可执行程序的文件路径
4. 远程管理Quartz.Net计划任务的API接口,封装如下: