Skip to content

规范 03 · 状态机

状态码为跨语言契约(枚举值对应表见 规范 07 · 元数据能力 的字典表)。

流程实例状态(wf_process_instance.state)

code名称说明
10进行中 (DOING)初始状态
20已完成 (FINISHED)正常走到 end
30已撤回 (WITHDRAW)发起人撤回
40强行终止 (INTERRUPT)管理员终止
45已拒绝 (REJECT)驳回/拒绝
50挂起 (PENDING)暂停
99已废弃 (ABANDON)废弃
text
            start


         ┌───────┐    reject    ┌────────┐
         │  10   │─────────────▶│   45   │
         │ 进行中 │              │ 已拒绝  │
         └───┬───┘              └────────┘
             │ complete

         ┌───────┐
         │  20   │
         │ 已完成 │
         └───────┘

任务状态(wf_process_task.task_state)

code名称说明
10进行中 (DOING)初始状态
20已完成 (FINISHED)完成
30已撤回 (WITHDRAW)随实例撤回
40强行终止 (INTERRUPT)随实例终止
50挂起 (PENDING)随实例挂起
99已废弃 (ABANDON)废弃(驳回/跳转时清理其他进行中任务)
text
            create


         ┌───────┐   complete   ┌────────┐
         │  10   │─────────────▶│   20   │
         │ 进行中 │              │ 已完成  │
         └───┬───┘              └────────┘
             │ abandon

         ┌───────┐
         │  99   │
         │ 已废弃 │
         └───────┘

状态转换规则

  • 任务状态转换是聚合根职责(ProcessTask.finish/abandon),引擎只做编排—— 设计论证见 设计原理 02 · 领域模型
  • 任务状态随实例级命令级联落库:撤回/挂起/终止等聚合命令改完任务状态后, 随 updateInstance 同一连接持久化(v1.0.1 契约,见 规范 05 · SPI)。

jeeflow · 轻量级多语言工作流引擎