xxw8393 / re-workflow

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

前提

  • 一个任务的职责应该是稳定的,对内扩展,对外依赖稳定
  • 因为上一条,插件任务正常来说不应该影响原流程
  • 任务适配执行模型(任务划分,拆解)

思路

  • 依赖任务分关键依赖与非关键依赖,关键依赖意味着前者不成功,则当前任务也无法进行,流程中断
  • 如果依赖的任务是异步的,且对于当前任务而已非关键任务,则不需要等待其完成
  • 对于调用者来说,只需要知道要达成的“目标”任务,而非“起点”任务,避免无效任务执行
  • 为了简化模型,对于一个任务而言,执行体内都为同步

TODO

  • 不同位置定义任务扩展
  • 关键任务失败异步任务中止
  • 任务完成消息通知机制
  • 依赖任务为异步消息时重排队处理,避免其他依赖任务无法继续

About

License:Apache License 2.0


Languages

Language:Java 100.0%