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. 这只是个介绍,没有详细的说明如何使用。如有问题,可以找我详细了解。

时间: 2024-11-01 22:42:52

Quartz.NET总结(五)基于Quartz.net 的开源任务管理平台的相关文章

【Quartz】Quartz存储与持久化-基于quartz.properties的配置

林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 一.   Quartz存储与持久化 Quartz提供两种基本作业存储类型.第一种类型叫做RAMJobStore,第二种类型叫做JDBC作业存储.在默认情况下Quartz将任务调度的运行信息保存在内存中,这种方法提供了最佳的性能,因为内存中数据访问最快.不足之处是缺乏数据的持久性,当程序路途停止或系统崩溃时,所有运行的信息都会丢失. 比如我们希望安排一个执行100次的任务,如果执行到50次时系

【Quartz】Quartz存储与持久化-基于Spring的配置

林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 在上文[Quartz]Quartz存储与持久化-基于quartz.properties的配置,是通过配置quartz.properties文件的方式来实现持久化的.本文将通过Spring配置的方式来实现存储与持久化. 1.同上文一样,要先创建相关的数据表,并新建一个JAVA工程,并导入相关的包,整个工程目录 如下: 2.创建Job类 package com.mucfc; import jav

NodeBB – 基于 Node.js 的开源论坛系统

NodeBB 是一个更好的论坛平台,专门为现代网络打造.它是免费的,易于使用. NodeBB 论坛软件是基于 Node.js 开发,支持 Redis 或 MongoDB 的数据库.它利用 Web Socket 实现即时交互和实时通知.NodeBB 向下兼容到 IE8 ,有许多现代化的开箱即用功能:如社交网络集成和流媒体的讨论. 在线演示      源码下载 您可能感兴趣的相关文章 网站开发中很有用的 jQuery 效果[附源码] 分享35个让人惊讶的 CSS3 动画效果演示 十分惊艳的8个 HT

基于 Quartz 开发企业级任务调度应用

原文地址:https://www.ibm.com/developerworks/cn/opensource/os-cn-quartz/ Quartz 是 OpenSymphony 开源组织在任务调度领域的一个开源项目,完全基于 Java 实现.作为一个优秀的开源调度框架,Quartz 具有功能强大,应用灵活,易于集成的特点.本文剖析了 Quartz 框架内部的基本实现原理,通过一些具体实例描述了应用 Quartz 开发应用程序的基本方法,并对企业应用中常见的问题及解决方案进行了讨论. Quart

quartz (一) 基于 Quartz 开发企业级任务调度应用

本文转自:http://www.ibm.com/developerworks/cn/opensource/os-cn-quartz/ Quartz 基本概念及原理 Quartz Scheduler 开源框架 Quartz 是 OpenSymphony 开源组织在任务调度领域的一个开源项目,完全基于 Java 实现.该项目于 2009 年被 Terracotta 收购,目前是 Terracotta 旗下的一个项目.读者可以到 http://www.quartz-scheduler.org/站点下载

基于 Quartz 开发企业级任务调度应用--转

Quartz 基本概念及原理 Quartz Scheduler 开源框架 Quartz 是 OpenSymphony 开源组织在任务调度领域的一个开源项目,完全基于 Java 实现.该项目于 2009 年被 Terracotta 收购,目前是 Terracotta 旗下的一个项目.读者可以到 http://www.quartz-scheduler.org/站点下载 Quartz 的发布版本及其源代码.笔者在产品开发中使用的是版本 1.8.4,因此本文内容基于该版本.本文不仅介绍如何应用 Quar

Java 基于quartz实现定时 之二(XML方式配置)

<!-- 在spring核心配置文件中进行如下配置 --> <!-- Spring基于quartz定时任务 --> <bean id="triggerByBeanTwo" class="cn.zr.pringmvctest.trigger.TriggerByBeanTwo"></bean> <!-- jobDetail --> <bean id="triggerByBeanTwoJob&qu

任务调度之集群(基于Quartz.net)

上一篇我们完成了任务调度的持久化,传送门:任务调度之持久化(基于Quartz.net) 这篇我们来完成Quartz.net的一个比较优秀的功能,即集群:集群可以提高任务调度服务的容灾性, 当一个节点宕机后,其他节点会自动补上去,把超时的Job继续执行下去. 当然了,某个Job同一时刻只会运行在一个节点上,他们是通过数据库锁实现的. 1.集群依赖于数据表 之前2张我们介绍的都是运行在内存上的Job,而集群则一定需要依赖于Quartz.net本身的数据表结构才行 就是这个: enter_db_nam

JobEngine 基于quartz.net 跨平台作业框架

github:https://github.com/zzhi/JobEngine 基于quartz.net 的跨平台作业框架 quartz.net(https://github.com/quartznet/quartznet/tree/features/netcore11) 也支持跨平台了 ,由于NuGet无法安装quartz-DotNetCore dll. 所以我直接把这个解决方案下载下来,删除一些无用的代码,在解决方案上直接创建项目JobServer, 通过添加引用的方式引用quartz-D