Quartz.NET总结(五)基于Quartz.net 的开源任务管理平台
转载自:http://www.cnblogs.com/zhangweizhong/p/5757876.html
前面总结了很多,关于Quartz.net 的文章,介绍了如何使用Quartz.net。不清楚的朋友,可以看我之前的系列文章,http://www.cnblogs.com/zhangweizhong/category/771057.html 。
最近,又重新整理,开发出了一套基于Quartz.net 的任务管理平台。将Quartz.net 的任务调度,管理等功能统一整合,形成了一套比较完整的任务调度平台。主要是:任务调度服务,后台任务管理 等功能。
github地址:https://github.com/weizhong1988/Weiz.TaskManager
1. 系统简介
Quartz.net是一个开源的任务调度工具,相当于数据库中的 Job、Windows 的计划任务、Unix/Linux 下的 Cron,但 Quartz 可以把排程控制的更精细,对任务调度的领域问题进行了高度的抽象,实现作业的灵活调度。
任务管理平台通过window服务来集成Quartz.net 实现作业的调度,只需要修改配置文件和添加相应Job即可完成作业添加,使用简单方便。
2. 项目结构
系统目前包含八个项目组成:
Weiz.TaskManager.HouTai_New 1. 任务后台管理系统,任务,。
Weiz.TaskManager.Tasks 2. 所有作业任务的集合,目前只有一个TestJob。
Weiz.TaskManager.ServiceBus 3. 集成Quartz.net 的 window服务,通过window服务来承载调度Weiz.TaskManager.Tasks 的各个任务Job。
Weiz.TaskManager.TaskUtility 4. 操作任务的公共类库。
Weiz.TaskManager.Utility 5. 整个平台的公共类库
Weiz.TaskManager.Models
Weiz.TaskManager.BLL
Weiz.TaskManager.DAL
3. 数据库
1. 任务管理平台,有基于数据库方式和基于xml 配置文件的方式。
a)基于数据库方式,主要是将全部的任务的配置,还有任务的运行情况等数据,保存在数据库。
b)基于xml 配置文件的方式,则是将全部的任务配置保存在xml 文件中。
2. 在\Documents 目录下 找到”SQL合并脚本_20150911.sql”执行创建相关表和初始数据。
4. 系统配置
系统中所有的作业信息,都存储在数据库或是配置文件中。window 宿主服务启动时,会自动读取相应的配置的job任务,完成任务的初始化和调度。
所有项目的配置文件,都在Config\Config.config 下配置。 设置数据库或是配置文件的存储方式,请在相关项目下增加如下配置:
<!--任务配置的存储方式 1 数据库,2 XML 文件 TaskConfig.xml--> <add key="StorageMode" value="2"/>
5. 其他
Weiz.TaskManager 任务平台,支持数据库配置和配置文件配置两种方式。如果不需要后台管理端,也可以直接使用 window 服务 + 配置文件的模式。
a)基于数据库方式,主要是将全部的任务的配置,还有任务的运行情况等数据,保存在数据库。可以部署后台管理系统,
b)基于xml 配置文件的方式,则是将全部的任务配置保存在xml 文件中。采用直接使用 window 服务 + 配置文件的方式 非常简单方便。无需配置相关的数据库和部署后台管理系统。
如果部署的任务不多的话,可以用这种简单的模式。
6. 部分截图
后台管理:
宿主服务:
7. 最后
1. 这个是本人的第一个开源项目。有很多不足,其中,也有部分代码,借鉴其他朋友的经验,大家多多包涵。
2. 这只是个介绍,没有详细的说明如何使用。如有问题,可以找我详细了解。