立即咨询

电话咨询

微信咨询

立即试用
商务合作

快来了解一下如何设计一款任务调度系统

2022-11-21

 

    对于写得很烂的电商系统,只要运行一段时间,服务器就会出现Out Of Memory。有一次偶然发现了JDK中的Timer类,似乎也是做这些定时任务的。不由地眼前一亮,但是仔细研究以后就发现,JDKTimer还是太简单了。做点简单的定时任务还行, 对于复杂的情况,尤其是复杂的时间策略,还是力不从心,这时,你需要设计一款任务调度系统

    这个Trigger 可以指定什么时间开始,时间间隔,运行多少次, 能覆盖大部分需求了,可是转念一想,如果有人要求类似日历的重复间隔该怎么处理? 比如每月的第一天运行,或者每周的最后一天运行,该怎么办,crontab特别适合描述这种情况,对,可以搞一个类似于crontabTrigger,那就需要从头设计了, 用“正交”的原则设计出了Logger, Appender, Formatter这些类。

    先想想需求,非常简单,不就是定时地执行任务嘛,“任务”应该是正交中的一个“维度”,我可以抽象出一个接口叫做Task , 嗯,还是叫做Job吧,对使用者来说,他需要提供一个实现类出来。在实现类中描述要做什么事情,比如:生成报表,复制数据。

    “定时”该怎么处理, 定时,定时触发,干脆叫做Trigger吧。看来Trigger最好也是个接口。我来提供几个默认的实现,比如SimpleTriggerCronTrigger,用户还可以扩展,这样就灵活了,JobTrigger也是正交的关系, 两者可以互不影响,可以独立扩展,真是不错。 不仅得意起来,这设计也很简单嘛!但是怎么把这两个家伙结合起来,必须得有个“大管家”才行。这个大管家应该可以接受Job, 然后按照各种Trigger去运行,嗯,叫做调度器Scheduler应该不错。

    如何实现持久化呢,不敢怠慢,赶紧进行新的设计, 他抽象了一个叫做JobStore的接口。表示Job的存储,像什么JobTriggerJob运行情况都存储在其中,下面有两个实现,分别对应内存存储和数据库存储。虽然SQL是标准的,但是不同的数据库还是有细微的差异, 觉得得把这些差异给封装起来。他又提取了一个接口叫做DriverDelegate, 屏蔽了数据库细节,让DbJobStore使用,还提供了一个缺省的实现StdJDBCDelegate,如果那些数据库还有独特的实现,那就写个子类就行了。

    这就是本篇文章关于如何设计一款任务调度系统的简单介绍了。

 

 

更多产品了解

欢迎扫码加入云巴巴企业数字化交流服务群

产品交流、问题咨询、专业测评

都在这里!

 

热门数字化产品

易仓ERP易仓ERP是3万+跨境卖家的增量选择,多平台多订单处理,多海外仓比价,易仓ERP系统6小时数据更新,财务核算又快又准,能够提高运营决策的准确度。
销售易CRM销售易CRM,销售L2C全流程自动化管理,赢单更多更快。多维度目标管理,让制定的目标切实可行。智能区域管理,实现销售资源的高效分配。与ERP无缝集成,打通企业前后端业务流程。
酷学院企业培训SaaS平台酷学院多个基于AI技术的培训工具,有效降低培训运营传播,显著提升学习效果。基于对14大热点行业标杆企业的大数据分析,深入研究和实验,建立77个重点岗位职能的测评标准。依托AI技术, 精准提取视频、音频、语音等课件中的知识点, 转换成碎片化的知识内容,并对各个内容设置相应标签,形成系统化的知识图谱。
跨境云手机跨境云手机,基于自主知识产权的磐玉蜂巢服务器及创新的容器化技术, 跨境云产品以“ 高安全性、高能效比、高性价比” 为价值理念, 持续构建丰富的ARM云产品矩阵, 帮助客户以更低成本获得安全稳定、绿色节能、高效敏捷的ARM云服务和云算力,为跨境直播带货,海外市场营销和进出口贸易,跨境电商出海创造更多可能。
纷呈科技电商开票软件纷呈科技电商开票软件实现多平台店铺订单一站式自动开票,无需托管税盘,企业自行管理,自动同步店铺订单及订单开票信息,在线批量、自动完成订单开票,自动回传发票至各电商平台,买家实时下载,覆盖所以税盘类型,多种模式操作,可自动、批量、单个实现订单开票。
为你推荐
2025腾讯产业合作伙伴大会|云巴巴荣获双项大奖,载誉而归

1月16日,2025腾讯产业合作伙伴大会在三亚召开。云巴巴,荣膺“2024腾讯云卓越合作伙伴奖—星云奖”和“2024腾讯云AI产品突出贡献奖”双项大奖

2025-01-17
[云手机新手选购攻略] 天翼云手机 VS 百度云手机:核心差异深度解析

面对众多云手机品牌,如何精准匹配需求?今天,我们聚焦国内两大主流产品——天翼云手机与百度云手机,深入剖析它们的核心差异,助你轻松避坑,做出聪明选择!

2025-07-04
海外云手机深度对决:OgPhone国际版 vs 跨境云手机,谁更能打?

海外云手机深度对决:OgPhone国际版 vs 跨境云手机,谁更能打?

2025-07-04
告别传统开票模式!四大电商工具深度对比:票捷IMS、税航票帮手、宜算发票、纷呈科技

本文深度对比了票捷IMS、税航票帮手、宜算发票、纷呈科技四款电商开票工具,从功能特点、适用场景等多维度进行对比,为电商企业提供选型指南,助力企业高效管理开票流程,降低运营成本。

2025-07-03
电商开票软件选型指南:聚焦企业需求,解析宜算发票与纷呈科技解决方案

电商开票软件是提升商家运营效率和客户体验的关键,本文对比了宜算发票和纷呈科技两款代表性产品,帮助商家根据自身需求选择最合适的自动化开票解决方案。

2025-07-03
查看更多