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


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

 

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

 

所谓调度:

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

 

例如

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

条件 =  时间,每天12点

方式 = 发短信

干什么= 信息发送 

 

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

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

 

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

条件 = 时间 = 立刻

方式 = email

干什么 = 信息发送

 

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

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

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

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

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

 

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

同上

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

  

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

 

综上分析,

 

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

 

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

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

 

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

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

 

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

= 管我X屁事!

 

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

 

 

开始时间: 2010-02-10

 

结束时间:2010-02-21

 

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

posted @     阅读(291)  评论(17编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· .NET周刊【3月第1期 2025-03-02】
· [AI/GPT/综述] AI Agent的设计模式综述
IT民工
点击右上角即可分享
微信分享提示