# 実行と結果

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

受け付けられた実行、各ノードの呼び出し、未処理の判断、最終的な業務結果を確認します。

実行（Run）は、固定された定義と設定で、選択した 1 つの入口を実行します。同じフローにも複数の実行があり、それぞれ入力、ノード結果、判断、終了状態を持ちます。

## 入力とノード結果

ノード入力で、選択された経路から実際に取得した値を確認できます。出力には、検証後にコミットされた結果が表示されます。最新結果の表示は確認用であり、他のノードがデータ依存を迂回するための入力元にはなりません。

最終的な業務結果は Outputs が定義します。ログ、ノード結果、ワークフロー出力は役割も保持仕様も異なります。

## 待機

Wait と Approval は、同じ実行内の一部の分岐を停止します。他の準備済み分岐は続行できます。判断が受け付けられると、その分岐が再開されます。代わりの実行は作成されません。

Wait は分岐を停止し、続行が受け付けられると同じ実行で結果を返します。

**入力**
ワークフローを開始し、未処理の Wait を続行します。

**想定される結果**
{"message":"Review finished"}

**実行前の準備**
インポートや実行には Open Flow サービスが必要です。プレビュー自体はオフラインで動作します。

[ワークフローをダウンロード](https://openflow.run/docs/examples/wait-and-resume.openflow.json)

Wait や Approval への判断には、実行 ID と Wait ID を使います。最初に受け付けられた判断が有効です。再送しても上書きされず、継続処理が重複してキューに入ることもありません。

## 終了状態

成功は、選択した処理の完了を表します。失敗は、失敗が確認された状態です。取消しと期限切れには、それぞれ別の結果があります。結果不明（`indeterminate`）は、外部操作が完了したかデプロイ先で確認できない状態です。

再試行する前に、これらを区別してください。後続の処理が失敗しても、それ以前の外部書き込みが戻されたとは限りません。

## 復旧と保持

デプロイ先は、完了済み結果、Wait、対応する Agent の継続情報など、復旧に必要な情報を永続化します。復旧は実行仕様に従い、不足データの再構築のために結果未確認の外部操作を繰り返してはいけません。

最終結果と判断の受領記録は、通常のイベントログとは別に保持されます。保持期間とリソース制限はデプロイ先が定めます。[デプロイ側の責務](https://openflow.run/ja/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)
