.net下作业调度实战[quartz]-阿里云开发者社区

开发者社区> 狗尾巴呢> 正文

.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 


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
史上最快! 10小时大数据入门实战(四)-分布式资源调度YARN
1 YARN 产生背景 2 YARN 架构 3 YARN 执行流程 1.
1049 0
【Web API系列教程】1.4 — 实战:用ASP.NET Web API和Angular.js创建单页面应用程序(下)
练习2:创建SPA界面 在本练习中,你将首先创建Geek Quiz的web前端,使用AngularJS专注于单页面应用程序的交互。
882 0
【Web API系列教程】1.3 — 实战:用ASP.NET Web API和Angular.js创建单页面应用程序(上)
前言 在传统的web应用程序中,客户端(浏览器)通过请求页面来启动与服务器的通信。然后服务器处理该请求,并发送HTML页面到客户端。
818 0
[Quartz笔记]玩转定时调度
简介 Quartz是什么? Quartz是一个特性丰富的、开源的作业调度框架。它可以集成到任何Java应用。 使用它,你可以非常轻松的实现定时任务的调度执行。   Quartz的应用场景 场景1:提醒和告警 场景2:监听事务 场景3:定时作业   Quartz的安装 安装 1.可以直接在官网:http://www.quartz-scheduler.org/ 下载jar包。
753 0
使用OpenApi弹性释放和设置云服务器ECS释放
云服务器ECS的一个重要特性就是按需创建资源。您可以在业务高峰期按需弹性的自定义规则进行资源创建,在完成业务计算的时候释放资源。本篇将提供几个Tips帮助您更加容易和自动化的完成云服务器的释放和弹性设置。
12071 0
Spring整合的quartz任务调度的实现方式
一、在web.xml中将配置文件的位置指定好。 Web.xml的配置如下: &lt;?xmlversion="1.0"encoding="UTF-8"?&gt; &lt;web-appversion="2.5"       xmlns="http://java.sun.com/xml/ns/javaee"       xmlns:xsi="http://www.w3.org/20
1073 0
阿里视频云曾福华:世界杯百T级CDN智能流量调度系统的实战分享
在刚刚落幕的重庆云栖上,阿里云高级技术专家仔晟为现场观众带来议题《百T级CDN智能流量调度系统的实战分享》,重点介绍了在世界杯直播业务场景之下,阿里云CDN的产品架构、技术方案与客户实践。
8922 0
Netty4 实战精华EventLoop 和线程模型
简单地说,线程模型指定了操作系统、编程语言、框架或者应用程序的上下文中的线程管理的关键方面。 显而易见地,如何以及何时创建线程将对应用程序代码的执行产生显著的影响,因此开发人员需要理解与不同模型相关的权衡。
1217 0
Asp.net MVC 2 + Castle + NHibernate 项目实战(1)
本文将开始一步一步地使用Asp.net MVC 2 + Castle + NHibernate 开发一个项目。   在开始之前,我先对这三个组件做一个简单的介绍:  Asp.net MVC  它是微软提供的一个基于MVC标准的Web开发模式,其典型特点是有控制器和视图;在这之前,.NET下的Web开发模式大多是采用WebForm,其典型特点是服务端控件和后台触发事件;   NHibernate 它是一个ORM框架,使用Java的SSH做过项目开发的人就非常熟悉了,当前最新版本为NHibernate 3.0,听说完全支持Linq查询语句了,以前只支持HQL语句。
723 0
+关注
狗尾巴呢
从事研发20年 涉及桌面软件、嵌入式设备、C/S分层系统、B/S业务系统、互联网系统等等各类系统 语言涉及C/C++ .net系统 java系列 前端系列等等不同的类别 主控和主导了国家863项目,企业业务应用系统,自然语言翻译系统,数据库审计等系列的软件研发
435
文章
2
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载