Quartz.Net和Cron 初体验

【本人原创,欢迎交流和分享技术,转载请附上如下内容:

作者:itshare 【转自】http://www.cnblogs.com/itshare/

 

      我这两天研究了一下Quartz.Net 和 cron 语法表达式,自己封装了一下实现计划任务管理器。
它与网上其他开源后项目的比较,优势如下:

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接口,封装如下:

posted @ 2017-02-18 16:08  tiandong  阅读(317)  评论(0编辑  收藏  举报