Quartz.net 的开源任务管理平台
Quartz.net 的开源任务管理平台
前面总结了很多,关于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. 这只是个介绍,没有详细的说明如何使用。如有问题,可以找我详细了解。
Quartz.net 的开源任务管理平台的更多相关文章
- Quartz.NET总结(五)基于Quartz.net 的开源任务管理平台
前面总结了很多,关于Quartz.net 的文章,介绍了如何使用Quartz.net.不清楚的朋友,可以看我之前的系列文章,http://www.cnblogs.com/zhangweizhong/c ...
- 开源任务管理平台TaskManagerV2.0介绍及升级说明
上一篇开源任务管理平台TaskManager介绍发布后,有网友联系我看看能不能做个后台管理界面,方便管理系统中所有的任务.由于时间和技术问题1.0版本的时候,新增了一个3分钟读取配置文件动态修改任务的 ...
- 开源任务管理平台TaskManager介绍
很早之前准备写Quartz系列文章,现在终于能够实现了.从本篇开始将带你实现一款自己的任务管理平台.在工作中你曾经需要应用执行一个任务吗?这个任务每天或每周星期二晚上11:30,或许仅仅每个月的最后一 ...
- GPS部标平台的架构设计(三) 基于struts+spring+hibernate+ibatis+quartz+mina框架开发GPS平台
注意,此版本是2014年研发的基于Spring2.5和Struts2的版本,此版本的源码仍然销售,但已不再提供源码升级的服务,因为目前我们开发的主流新版本是2015-2016年近一年推出的基于spri ...
- 如何在Form++开源组态平台添加硬件采集接口
E-Form++是一套值得推荐的高品质开源C++矢量图形库,C++编程之所以异常困难,主要就是没有很专业的C++基础架构库有关.E-Form++的出现一定程度上填补了这个空白.是开发工控.监控.建模与 ...
- hangfire+bootstrap ace 模板实现后台任务管理平台
前言 前端时间刚开始接触Hangfire就翻译了一篇官方的教程[翻译+山寨]Hangfire Highlighter Tutorial,后来在工作中需要实现一个异步和定时执行的任务管理平台,就结合bo ...
- 开源安全平台Ossim 4.5系统使用入门(高清视频)
开源安全平台Ossim 4.5系统使用入门 时长:15分钟 观看地址: http://www.tudou.com/programs/view/Yb0m4vPYlIQ/ 视频截图: 650) this. ...
- 开源视频平台:Kaltura
Kaltura是一个很优秀的开源视频平台.提供了视频的管理系统,视频的在线编辑系统等等一整套完整的系统,功能甚是强大. Kaltura不同于其他诸如Brightcove,Ooyala这样的网络视频平台 ...
- Linux开源监控平台归总
Linux开源监控平台归总 Cacti 偏向于基础监控.成图非常漂亮,需要php环境支持,并且需要mysql作为数据存储 Cacti是一个性能广泛的图表和趋势分析工具,可以用来跟踪并几乎可以绘制出任何 ...
随机推荐
- OpenSSL加解密
http://www.caole.net/diary/des.html Table of Contents OpenSSL - DES Summary DES使用的例子 另一个带注释的例子 另一段Co ...
- 实例--post请求,完成一个抽奖程序概率的测试
一个web项目测试,测试抽奖概率的正确性,写了一个小代码,验证概率 post和get请求的一个工具类 package kankan_interface; import java.io.IOExcept ...
- H5入门-xhtml+css2-第01节
<!-- 声明版本号,DOCTYPE html是html5版本 --> <!DOCTYPE html> <!-- 声明网页语言 en-英文 zh-中文 zh-cn中文 - ...
- 【CSS3】---练习制作导航菜单
练习题 根据所学知识,使用CSS3实现下图的导航菜单效果 任务 1.制作导航圆角 提示:使用border-radius实现圆角 2.制作导航立体风格 提示:使用box-shadow实现立体风格 3.制 ...
- PHP与MySQL中编码的设置
php代码 header("Content-type:text/html;Charset=utf8"); myql_query("set names utf8" ...
- Python Opearte MS-SQL Use Pymssql
看到很多的开源数据库会用到MySQL,Python同样也使用,但是我已经习惯使用图形化界面,操作感极强的MS-SQL 看到Python也提供MS-SQL连接方式,需要用到PyMssql. 在Windo ...
- JQuery处理json与ajax返回JSON实例
一.JSON的一些基础知识. JSON中对象通过“{}”来标识,一个“{}”代表一个对象,如{“AreaId”:”123”},对象的值是键值对的形式(key:value). “[]”,标识数组,数组内 ...
- 对Json字符串进行格式化显示
很多时候,我们拿Json字符串作为返回结果,但是当数据量多的时候,一堆的Json字符串看起来很不直观,这时候我们可以使用以下办法将Json字符串格式化一下再输出 var JsonUti = { //定 ...
- Today’s dictation
A united nations expert on human rights in north korea has warned that the country's dictator, kim j ...
- 20150214—winform中使用构造函数传值
构造函数,在函数初始化时就会执行的函数方法,在创建一个类之后,系统会自动在此类中生成一个与类名相同的函数,其中只包含一句代码: InitializeComponent(); 新建一个名字相同的函数,然 ...