Pixysoft.Framework.Schedular 作业调度 开发实录


由于在开发healthcheck的时候遇到发送email的问题,决定提前搞一个分布式集中控制的作业调度系统。

开发周期无法确定,可能很久。

所谓调度:

在什么条件下,以什么方式通知对方干什么

例如

每天12点发短信通知我起床。

条件 =  时间,每天12点

方式 = 发短信

干什么= 信息发送 

当数据库崩溃的时候,发送检查报告到服务器。

这个不是调度,这个已经和业务逻辑绑定了。 

当检查报告没有通过的时候,发送email通知管理员

条件 = 时间 = 立刻

方式 = email

干什么 = 信息发送

每天12点,数据库自动备份数据一次

每天12点,对销售汇总一次、对员工提成统计一次。。。。

如果要实现这种调度,除了时间条件外,其他的几乎要重写。

可能使用了反射加载机制。 

!!典型的符合时间条件、不符合方式、干什么

当库存小于10的时候,自动建立配货单,并通知管理员 

同上

!!典型的不符合时间条件、符合方式或干什么

  

---------------

综上分析,

如果是时间条件下,以某种方式传递文本信息;则可以形成框架。 

如果是不符合时间条件,以某种方式传递文本信息;可以用立即执行的方式+具体代码 模拟调度系统。

= 调度系统配置了一个立即执行的调度

如果是时间条件下,处理具体的业务;例如数据库备份等 = 调度系统触发了时间,但是实现机制由用户负责。

= 继承了调度接口 + 注册了触发机制

不符合时间条件下,处理具体的业务; 库存小于10,添加配货单

= 管我X屁事!

--------------------------------------------------------------- 

开始时间: 2010-02-10

结束时间:2010-02-21

用了21天,主要中途玩了几天的开心网餐厅,然后搞了其他垃圾的事情。。。。。真是慢。。 

原文地址:https://www.cnblogs.com/zc22/p/1666914.html