.net下作业调度实战[quartz]

简介: 在我们处理各类信息系统的业务时,定时的调度问题会经常的涉及,quartz是java社区一个很成熟的解决方案,.net也有对应的开源实现,具体为:http://quartznet.sourceforge.net/ 不过这个版本对vs2010和64的支持不好,今天抽了一些时间对以前的这些部分进行了升级,整理了一个初步的通用的方案。

在我们处理各类信息系统的业务时,定时的调度问题会经常的涉及,quartz是java社区一个很成熟的解决方案,.net也有对应的开源实现,具体为:http://quartznet.sourceforge.net/ 不过这个版本对vs2010和64的支持不好,今天抽了一些时间对以前的这些部分进行了升级,整理了一个初步的通用的方案。

具体的结构图如下:

wps_clip_image-503

客户端

RemoteDemo

<quartz>
    <add key="quartz.scheduler.proxy" value="true"/>
    <add key="quartz.scheduler.proxy.address" value="tcp://localhost:555/QuartzScheduler"/>
</quartz>

有以上的配置后,只要启动调度,加入作业,即可以发送到调度服务

ISchedulerFactory sf = new StdSchedulerFactory();
IScheduler sched = sf.GetScheduler();

调度服务

Quartz.Server.Console / Quartz.Server.Service

调试时可以使用命令行;部署时使用Windows Service

quartz.config可以进行各种配置设置,例子中Sql Server 和sqlite都可以

[注意sqlite区分32/64平台,lib\sqlite是重新编译版本,消除了对VC库的依赖]

quartz.db是使用sql脚本建立的数据库文件

调度的内容存储在数据库中,以QRTZ_开头的表,如下是一个例子调度的内容

QRTZ_JOB_DETAILS

remotelyAddedJob default JobDefinition.SimpleJob, JobDefinition 0 0 0 0

QRTZ_TRIGGERS

remotelyAddedTrigger default remotelyAddedJob default 0 634510595450000000 634510595400000000 5 ACQUIRED CRON 634510595000000000 0 0

定义作业

在quartz_jobs.xml中配置或客户端代码发布均可

 

完整的代码参考: 

https://skydrive.live.com/self.aspx/.Public/Quartz.net.zip?cid=56b433ad3d1871e3&sc=documents 


相关文章
|
3月前
|
开发框架 前端开发 .NET
七天.NET 8操作SQLite入门到实战 - (1)第七天BootstrapBlazor UI组件库引入
七天.NET 8操作SQLite入门到实战 - (1)第七天BootstrapBlazor UI组件库引入
|
4月前
|
XML API 数据库
七天.NET 8操作SQLite入门到实战 - 第六天后端班级管理相关接口完善和Swagger自定义配置
七天.NET 8操作SQLite入门到实战 - 第六天后端班级管理相关接口完善和Swagger自定义配置
|
16天前
|
安全 数据库 数据安全/隐私保护
七天.NET 8操作SQLite入门到实战 - 第五天引入SQLite-net ORM并封装常用方法
七天.NET 8操作SQLite入门到实战 - 第五天引入SQLite-net ORM并封装常用方法
|
16天前
|
开发框架 .NET API
七天.NET 8操作SQLite入门到实战 - 第四天EasySQLite前后端项目框架搭建
七天.NET 8操作SQLite入门到实战 - 第四天EasySQLite前后端项目框架搭建
|
16天前
|
存储 SQL 关系型数据库
七天.NET 8操作SQLite入门到实战 - 第三天SQLite快速入门
七天.NET 8操作SQLite入门到实战 - 第三天SQLite快速入门
|
4月前
|
SQL Shell 数据库
七天.NET 8操作SQLite入门到实战 - 第二天 在 Windows 上配置 SQLite环境
七天.NET 8操作SQLite入门到实战 - 第二天 在 Windows 上配置 SQLite环境
|
9月前
|
开发框架 前端开发 .NET
[回馈]ASP.NET Core MVC开发实战之商城系统(四)
经过一段时间的准备,新的一期【ASP.NET Core MVC开发实战之商城系统】已经开始,在之前的文章中,讲解了商城系统的整体功能设计,页面布局设计,环境搭建,系统配置,及首页【商品类型,banner条,友情链接,降价促销,新品爆款】,商品列表页面等功能的开发,今天继续讲解商品详情功能开发,仅供学习分享使用,如有不足之处,还请指正。
134 0
|
9月前
|
NoSQL 前端开发 JavaScript
MongoDB从入门到实战之.NET Core使用MongoDB开发ToDoList系统(8)-Ant Design Blazor前端框架搭建
MongoDB从入门到实战之.NET Core使用MongoDB开发ToDoList系统(8)-Ant Design Blazor前端框架搭建
121 0
|
9月前
|
开发框架 数据可视化 Java
.NET6+Quartz实现定时任务
.NET6+Quartz实现定时任务
186 0
|
调度
十七、.net core(.NET 6)搭建基于Quartz组件的定时调度任务
搭建基于Quartz组件的定时调度任务先在package包项目下,添加Quartz定时器组件:
573 0
十七、.net core(.NET 6)搭建基于Quartz组件的定时调度任务