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

在我们处理各种信息连串的事体时,定时的调度问题会时时的关系,quartz是java社区一个很干练的缓解方案,.net也有对应的开源实现,具体为:http://quartznet.sourceforge.net/
然则这么些本子对vs2010和64的支撑不好,今日抽了有些时刻对从前的这多少个片段开展了提高,整理了一个起来的通用的方案。

切切实实的结构图如下:

图片 1

客户端

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 

网站地图xml地图