Run 執行到一半停了,要全部重來嗎?
在單元 2,你把一次 Run 描述為 State 經過各個 Step 與 Transition 的移動。真實的 Run 常會被中斷:服務重新啟動、達到時間上限、使用者關閉連線。本單元的核心問題是:如果流程執行到一半中斷,系統如何安全地繼續,而不是全部重來?
某系辦的 Workflow 有五個 Step:收集請求、分類、撰寫回覆草稿、寄出回覆、記錄結果。Run 在回覆寄出之後、記錄結果之前中斷。因為什麼都沒有存下來,團隊只好整個 Run 重新啟動。每一封回覆又被寄了第二次,收件者收到重複的信件。
- 從頭重來會浪費已完成的工作
- 重來也可能重複已經發生在外部世界的動作
- 安全地繼續,需要已儲存的 State,以及清楚知道哪些已完成
- 在哪裡儲存、如何儲存,是 Harness 中的設計決策
注意