Camunda Runtime → History 生命週期流程圖
說明重點
| 階段 | 描述 | 實際資料表 | 特徵 |
|---|
| 流程啟動 (Start) | 由部署的流程定義(ACT_RE_PROCDEF)產生執行實例。 | ACT_RU_EXECUTION、ACT_RU_TASK、ACT_RU_VARIABLE | 實例開始建立時,資料寫入 Runtime 表。 |
| 執行中 (Runtime) | 流程節點、任務、事件、Job 等持續進行中。 | ACT_RU_* 表系列 | 引擎不斷更新執行狀態,這是可查詢「進行中流程」的資料來源。 |
| 歷史歸檔 (History) | 任務完成、變數變更、事件觸發後即同步寫入。 | ACT_HI_* 表系列 | 寫入通常是同步(synchronous history level) 或 異步(async history job)。流程結束後 Runtime 表資料會被刪除。 |
實際生命週期範例(以 User Task 為例)
| 流程階段 | Runtime 表 | History 表 |
|---|
| 建立任務 | ACT_RU_TASK 新增一筆 | 同步新增 ACT_HI_TASKINST(startTime) |
| 任務進行中 | 更新任務狀態 / 變數 | ACT_HI_DETAIL 記錄變數變化 |
| 任務完成 | 從 ACT_RU_TASK 刪除 | 更新 ACT_HI_TASKINST 的 endTime |
| 流程結束 | 從 ACT_RU_EXECUTION 刪除 | ACT_HI_PROCINST endTime 更新完成 |
延伸補充:歷史等級(History Level)
Camunda 透過設定 history-level 來控制寫入 ACT_HI_* 的細節:
| Level | 說明 | 寫入範圍 |
|---|
| none | 不記錄任何歷史 | 無 |
| activity | 記錄節點執行 | ACT_HI_ACTINST |
| audit | 記錄任務、變數等 | ACT_HI_TASKINST、ACT_HI_VARINST |
| full ✅ | 完整記錄(預設建議) | 所有 ACT_HI_* |