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是一个性能广泛的图表和趋势分析工具,可以用来跟踪并几乎可以绘制出任何 ...
随机推荐
- freeCodeCamp:Missing letters
从传递进来的字母序列中找到缺失的字母并返回它. 如果所有字母都在序列中,返回 undefined. function fearNotLetter(str) { var arr = str.split( ...
- HDU 5478 Can you find it(快速幂)
Problem Description Given a prime number C(1≤C≤2×105), and three integers k1, b1, k2 (1≤k1,k2,b1≤109 ...
- Cannot find protocol declaration for "XXDelegate" 找不到协议错误
原因是 在A里面继承了B类里面的"XXDelegate",在B类的头文件里又导入了A类的头文件 解决方法 不在B类的头文件导入A类的头文件,改成在B类的.m文件导入A类的头文件
- MSI安装程序在Win8/Win10及以上系统中DLL安装问题
报的错误是: There is a problem with this Windows Installer package. A DLL required for this install to co ...
- CentOS系统下安装以及卸载mysql
CentOS7的yum源中默认好像是没有mysql的.为了解决这个问题,我们要先下载mysql的repo源. 1. 下载mysql的repo源 [root@localhost `]$ wget htt ...
- 使用wordpress自带ajax方法
css3 提示只适用于高级浏览器: ChromeFirefoxSafariIE9+ valid.invalid.required的定义 代码如下 复制代码 input:required, input: ...
- html5的自定义data-*属性和jquery的data()方法的使用示例
人们总喜欢往HTML标签上添加自定义属性来存储和操作数据. 但这样做的问题是,你不知道将来会不会有其它脚本把你的自定义属性给重置掉,此外,你这样做也会导致html语法上不符合Html规范,以及一些其它 ...
- 获取一年时间的sql
select a.day, to_char(a.day, 'day') as dd, 1 as flag,to_char(a.day,'YYYY-MM-DD') from ( SELECT TO_DA ...
- PHP的final、抽象类和方法
final关键字的用法 final class Computer{ //无法继承的类 final public function run(){ //无法继承的方法 } } class NoteBook ...
- C语言清除输入缓存方法记录[转]
原文:http://www.tomytime.com/archives/218/ fflush()函数是标准的作法. setbuf(stdin,NULL)是GCC下可用的一种方法. scanf(&qu ...