任务生命周期管理设计

作者: admin 分类: 公众号存档            2 次浏览 发布时间: 2019-05-05 23:49

公众号:杨建荣的学习笔记 · 发布:2019-05-05 23:49:36 · 原文链接

这是学习笔记的第 1970 篇文章

  对于任务系统的整体流程,今天和同事聊了下一些实现细节,发现里面有不少的细节,关于任务的ID在不同的流程设计中看起来相似,但是实现的时候还是有很多差异。

  整体来说,我把任务的注册,执行,结果查询分为了两种类型:异步任务和定时任务。 

  而对任务的执行明细上有一些差异,有的API可能执行时间不确定,比如备份任务,执行时间会比较长,这种任务是需要通过回调的方式来更新任务状态的,而对于通常的绝大多数任务来说,执行时间可控,都是秒级别,就不需要回调了。

所以根据任务结果是否回调,我们组合起来了四种场景。从设计上,我们是把任务系统和调度系统力求分离开来,这样在后期的时候可以方便做分布式架构和部署实现。

场景1:异步任务,任务结果不回调

场景2:异步任务,任务结果回调

场景3:定时任务,任务结果不回调

场景4:定时任务,任务结果回调相关链接:

admin

杨建荣,《Oracle DBA工作笔记》《MySQL DBA工作笔记》作者,dbaplus社群发起人之一,腾讯云TVP,现任竞技世界系统部经理,拥有十多年数据库开发和运维经验,目前专注于开源技术、运维自动化和性能调优

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注