# 執行與結果

Source: https://openflow.run/zh-tw/docs/concepts/runs/
Language: zh-TW
Product version: 0.1.0-beta.77

檢視一次執行中的節點呼叫、待處理決定和最終業務結果。

一次執行（Run）使用固定的定義和設定，執行一個選定入口。同一工作流程可以有多次執行，每次都有自己的輸入、節點結果、人工決定和最終狀態。

## 輸入與節點結果

檢視節點輸入，可以瞭解所選執行路徑上實際收集到的值；檢視輸出，可以瞭解通過驗證後送出的結果。「最新結果」便於檢視，但其他節點不能借它繞過資料依賴。

工作流程輸出節點宣告最終業務結果。日誌、節點結果和工作流程輸出用途不同，保留規則也各自獨立。

## 等待

等待和審核節點會暫停同一次執行中的局部分支，其他已就緒的分支仍可繼續。系統接受決定後，會恢復原分支，不會另建一次執行。

等待節點暫停目前分支，接受繼續請求後，在同一次執行中回傳結果。

**輸入**
啟動工作流程，再對待處理的等待項送出繼續請求。

**預期結果**
{"message":"Review finished"}

**執行前準備**
匯入或執行此案例需要 Open Flow 服務；預覽本身可離線使用。

[下載工作流程](https://openflow.run/docs/examples/wait-and-resume.openflow.json)

送出等待或審核決定時，需要指定執行 ID 和等待項 ID。最先被接受的決定生效，重複送出不會覆蓋它，也不會再排隊執行一次。

## 最終結果

執行成功表示選取的任務已完成；失敗表示已有明確的失敗結果。取消和超時各有對應狀態。結果不確定（`indeterminate`）表示部署端無法確認外部操作是否已經完成。

重試前應分清這些狀態。下游步驟失敗，不代表此前的外部寫入已被撤銷。

## 恢復與保留

部署端會持久化恢復執行所需的資訊，例如已完成的結果、等待項，以及支援恢復的 Agent 後續執行資訊。恢復遵循執行契約，不能為了補齊缺失資料而重複結果尚未確認的外部操作。

最終結果和決定回執與一般事件日誌分開保留。保留期限和資源限制由部署端決定。詳見[部署職責](https://openflow.run/zh-tw/docs/reference/deployment/index.md)。

## 資料來源

*   [docs/control/contracts/control-api.md](https://github.com/oomol-lab/open-flow/blob/e25a738d170322734572a0b8a1323cb00b9d355a/docs/control/contracts/control-api.md#5-run)
*   [docs/architecture.md](https://github.com/oomol-lab/open-flow/blob/e25a738d170322734572a0b8a1323cb00b9d355a/docs/architecture.md#wait-and-agent)
