标签:
Quartz.Net是一个开源的、非常灵活的作业调度框架,具体使用方法和教程:http://www.cnblogs.com/shanyou/archive/2007/08/25/quartznettutorial.html
虽然很优秀,但使用过程中没有找到一个合适的后台任务配置系统,有时是CronExpress的生成,看过:http://www.cronmaker.com/ 等但都不是特别合适,最好是能参考MSSQL里的作业调度来设计。
Extjs是最牛逼的RichClient前端开发框架,下面演示下基于Extjs+Quartz.Net开发的任务调度管理系统。
整个系统分:后台作业配置管理系统和Window本地服务组成
1. 作业通知组模块,一个作业的执行成功、失败、异常是非常有必要通知到管理员的,并且不同作业需要通知的管理员也不一样,所有这里我们单独设置了一个通知组模块,可以根据需要添加若干的通知服务URL,补充完整参数即可。作业执行过程中将会根据条件,向该URL中POST数据(作业ID,名称,结果等),对应的URL服务接收到数据,可做具体的操作,比如发送到短信、发送到内部即时通讯工具、发送到微信等等,这些需要企业内部单独实现。
2. 最重要的就是作业配置管理了,作业配置重要的主要是:
因为CronExpress比较强大和复杂,很多比较特殊的定时计划没有那么多精力去实现,所以提供了一个自定义CronExpress的功能,方便自己制定特殊的计划,同时为了检验是否是预期的计划时间,提供“验证表达式”功能,可以查看最近100条的执行计划,以便确认是正确的计划。
3. 作业执行完成,当然还需要做相应的日志显示,这个比较简单,直接将执行结果上传至后台系统中即可
任务执行者,说白了就是将服务器中配置的任务列表加入到Quartz.Net计划列表,然后靠Quartz定时去执行服务,那么客户端和服务端通信需要解决几个问题
后台服务已经做了标准的webservice接口,及时不用上述的管理后台,只需要提供相应的服务,对于window 服务也是可以用的,管理后台和服务做了很好的解耦。
需要源码或者技术支持的可联系我QQ:710782046
标签:
原文地址:http://www.cnblogs.com/qidian10/p/4773419.html