码云 Gitee IDE 全新上线——支持 Git 管理的轻量在线编码环境
0 Watch 13 Star 16 Fork 6

夏沫 / SchedulePlanC#

加入码云
与超过 300 万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
制定Quartz.NET调度计划,以及监控Quartz.NET以及Topshelf运行情况 应用场景:定时Job配置以及定时Job运行情况记录
Loading...
README.md 5.10 KB

Quartz

项目介绍

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

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

Quartz.net实现的调度在本人的另一开源地址Quartz定时执行任务

该项目涉及的技术:

  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. 图为配置,如图 配置界面
  4. 打开该文件找到配置节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我

项目点评 ( 0 )

你可以在登录后,发表评论

搜索帮助