18 Star 80 Fork 30

北京恒盛盈创数据技术有限公司 / SchedulePlan

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

Quartz

项目介绍

本项目目的在于完成公司的一些定时调度任务而开发,前期本打算使用Quartz集群方案实现,后发现项目并没有到一定要到集群方案的窘境,就自动跳过了该方案,考虑到一台服务器的异步方案实现。 应用场景

  • 定时执行Job
  • 定时调度接口
  • 定时抽取数据 等场景使用

Quartz.net以及TopShelf实现的Windows Service在本人的另一开源地址$\color{red}{Quartz定时执行任务}$https://gitee.com/xmsource/quartz.git,敬请关注整套项目,本项目截止20190716已经在本单位的生产环境连续运行11月由于,该调度配置下的接口数量达到了540之多,运行情况良好

该项目涉及的技术:

  1. 调度配置工具
  • ORM基于Dapper实现
  • 日志采用Nlog实现
  • 数据库Provider基于Devart
  • 数据层整个基于1.1和1.3结合实现
  • 将程序打包为桌面安装程序,采用Microsoft Visual Studio 2010、2015、2017 Installer Projects实现
  1. 调度服务实现
  • 采用Quartz.NET实现的作业调度
  • 采用Topshelf开发服务集成Quartz实现的作业调度
  • 志采用Nlog实现
  • ORM基于Dapper实现
  • 数据库Provider基于Devart
  • 数据层整个基于1.1和1.3结合实现

调度配置项目目录

  • Raise.Monitor
  • Raise.Monitor.Extension
  • Raise.Monitor.Model
  • Raise.Monitor.Utils
  • MonitorSetup

调度配置项目类库介绍

  • Raise.Monitor为调度配置项目的启动项目
  • Raise.Monitor.Extension项目的扩展项
  • Raise.Monitor.Model和数据库交互所使用的实体对象
  • Raise.Monitor.Utils存放项目的工具类
  • MonitorSetup为打包安装目录

Quartz调度项目目录

  • Workbench
  • Raise.Workbench.Utils
  • Raise.Workbench.Service
  • Raise.Workbench.Core
  • Raise.Workbench.Common

Quartz调度服务类库介绍

  • Workbench为服务的启动项目
  • Raise.Workbench.Utils为项目的工具类存放
  • Raise.Workbench.Service根据调度配置项目生成调度服务作业
  • Raise.Workbench.Core核心命名空间,暂时存放接口
  • Raise.Workbench.Common项目公共库

安装教程

  1. 在打包目录下取得Workbench\MonitorSetup\Debug\MonitorSetup.msi进行安装,如 安装界面
  2. 操作下一步,直到安装结束,桌面会生成Workbench图标,64位操作系统默认安装路径C:\Program Files (x86)\MonitorSetup 至此已经安装结束,下面是配置
  3. 打开该文件找到配置节ConnectionString,IsProduction,ServiceNames
  • ConnectionString用以配置数据库连接
  • IsProduction指定是否为生成环境,如果为生成环境,则不打印SQL,否则打印SQL到日志logs文件夹下
  • ServiceNames本工具所管理的服务,默认只管理调度服务Workbench
  1. 该工具有如下功能
  • 新增、修改、作废、恢复、启用,停用指定的某项作业,
  • 其他日志查看(可以查看该工具以及调度服务的工作异常情况),
  • 查看日志功能为查看作业调度情况下,接口返回的内容等项,
  • 立即生效,常用于配置结束后,立即生效作业时使用
  • 关闭调度,则会停止所有的作业调度(慎用)

配置界面 配置界面 配置界面 配置界面 配置界面 配置界面 配置界面

调度服务安装

调度服务安装,在编译得到的最终产物目录Workbench\Workbench\bin\Debug找到Workbench.exe,注意:不能直接点击exe运行,该程序为服务,需要安装Windows 服务保证一直运行中

图 图

参与贡献

  • Sunrise

参考文献

注意事项

  • Devart是收费项目,可以使用Oracle.ManagedDataAccess无缝替代,本项目已经用Oracle.ManagedDataAccess替代,由于Oracle.ManagedDataAccess本身存在的问题,如果商用,建议购买Devart
  • 设计界面无法出现时,需要将CPU类型改为Any CPU就可以查看视图了

联系我

最近刚创建群,群人数较少,后续会升级为集群方案,如果喜欢,请给个star以及Fork我

MIT License Copyright (c) 2023 夏沫 Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

制定Quartz.NET调度计划,以及监控Quartz.NET以及Topshelf运行情况 应用场景:定时Job配置以及定时Job运行情况记录 展开 收起
C# 等 2 种语言
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
C#
1
https://gitee.com/hcltd/schedulePlan.git
git@gitee.com:hcltd/schedulePlan.git
hcltd
schedulePlan
SchedulePlan
master

搜索帮助