.net下作业调度实战[quartz]
在我们处理各类信息系统的业务时,定时的调度问题会经常的涉及,quartz是java社区一个很成熟的解决方案,.net也有对应的开源实现,具体为:http://quartznet.sourceforge.net/ 不过这个版本对vs2010和64的支持不好,今天抽了一些时间对以前的这些部分进行了升级,整理了一个初步的通用的方案。
具体的结构图如下:
客户端
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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
2010-10-12 jQuery使用总结 - jQuery组成和主要功能 1/4