Quartz.Net 做业调度后台管理系统,基于Extjs

Quartz.Net是一个开源的、很是灵活的做业调度框架,具体使用方法和教程:http://www.cnblogs.com/shanyou/archive/2007/08/25/quartznettutorial.htmlhtml

虽然很优秀,但使用过程当中没有找到一个合适的后台任务配置系统,有时是CronExpress的生成,看过:http://www.cronmaker.com/ 等但都不是特别合适,最好是能参考MSSQL里的做业调度来设计。前端

 

Extjs是最牛逼的RichClient前端开发框架,下面演示下基于Extjs+Quartz.Net开发的任务调度管理系统。web

整个系统分:后台做业配置管理系统和Window本地服务组成数据库

1、Quzrtz.Net后台做业配置管理系统界面

1. 做业通知组模块,一个做业的执行成功、失败、异常是很是有必要通知到管理员的,而且不一样做业须要通知的管理员也不同,全部这里咱们单独设置了一个通知组模块,能够根据须要添加若干的通知服务URL,补充完整参数便可。做业执行过程当中将会根据条件,向该URL中POST数据(做业ID,名称,结果等),对应的URL服务接收到数据,可作具体的操做,好比发送到短信、发送到内部即时通信工具、发送到微信等等,这些须要企业内部单独实现。安全

 

2. 最重要的就是做业配置管理了,做业配置重要的主要是:服务器

  • 做业的服务URL,参数
  • 做业的执行计划,如何产生CronExpress
  • 做业的日志、通知级别

 

  

 

由于CronExpress比较强大和复杂,不少比较特殊的定时计划没有那么多精力去实现,因此提供了一个自定义CronExpress的功能,方便本身制定特殊的计划,同时为了检验是不是预期的计划时间,提供“验证表达式”功能,能够查看最近100条的执行计划,以便确认是正确的计划。微信

 

3. 做业执行完成,固然还须要作相应的日志显示,这个比较简单,直接将执行结果上传至后台系统中便可框架

 

2、Window 服务,任务执行者

任务执行者,说白了就是将服务器中配置的任务列表加入到Quartz.Net计划列表,而后靠Quartz定时去执行服务,那么客户端和服务端通讯须要解决几个问题工具

  • 作心跳线,定时检测服务器端的做业改动(如做业删除、做业变动了执行计划),改动须要迅速起效,无需重启window服务
  • 考虑后台服务的多边形,尽可能统一走webservice方式,不要直接读数据库
  • 考虑调用服务的安全性,这些定时做业的url服务只能由Quartz.Net的Window服务调用,其余第三者调用应该屏蔽

 

后台服务已经作了标准的webservice接口,及时不用上述的管理后台,只须要提供相应的服务,对于window 服务也是能够用的,管理后台和服务作了很好的解耦。url

 

须要源码或者技术支持的可联系我QQ:710782046

相关文章
相关标签/搜索