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


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

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

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

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

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

任务生命周期管理设计

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

任务生命周期管理设计

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

任务生命周期管理设计

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

任务生命周期管理设计

任务生命周期管理设计

相关文章:

  • 2022-12-23
  • 2022-01-13
  • 2021-12-28
  • 2022-12-23
  • 2021-12-31
  • 2021-06-29
  • 2021-06-03
  • 2021-05-04
猜你喜欢
  • 2021-05-02
  • 2021-09-02
  • 2021-08-01
  • 2022-12-23
  • 2021-10-12
  • 2021-11-21
  • 2022-02-12
相关资源
相似解决方案