# 実行

> 実行の状態、実行に対して行える操作、実行が停止する仕組み。

実行とは 1 回の最適化のことです。実行には、ステータス、支出上限、保存されたバージョンのセットがあります。このページでは、実行の状態、実行に対して行える操作、実行が停止する理由を説明します。

## 実行の状態

すべての実行は、次のいずれかのステータスを持ちます。

| ステータス   | 意味                                                                   |
| ------------ | ---------------------------------------------------------------------- |
| `pending`    | 実行はキューに入っています。                                           |
| `validating` | 最適化を開始する前に、Skynet が設定をチェックしています。              |
| `running`    | オプティマイザーが新しいバージョンを提案し、採点しています。           |
| `success`    | 実行が完了しました。最良のバージョンが保存されています。               |
| `failed`     | エラーにより実行が停止しました。                                       |
| `cancelled`  | 誰かが実行をキャンセルしました。                                       |
| `paused`     | 実行はチェックポイントで停止しました。再開できます。                   |
| `stopped`    | 実行は予算に達して停止しました。見つかった最良のバージョンを保持します。 |

`success`、`failed`、`cancelled`、`stopped`、`paused` は終了状態です。オプティマイザーは、終了状態の実行では作業しません。`paused` は、再開されることを前提とした唯一の終了状態です。

## 操作

実行ページには、現在のステータスとあなたのロールに応じた操作が表示されます。API にも同じ操作があります。

| 操作             | 使える条件                                                                                                         | 動作                                                                   |
| ---------------- | ------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------- |
| **一時停止**     | 実行が実行中で、保存されたチェックポイントがある。                                                                 | チェックポイントで実行を停止します。ステータスは `paused` に変わります。 |
| **キャンセル**   | 実行が `pending`、`validating`、`running` のいずれか。                                                             | 実行を停止します。キャンセルは元に戻せません。                         |
| **再開**         | 実行が `failed`、`cancelled`、`paused`、または予算による `stopped` で、保存されたチェックポイントがある。           | 最後のチェックポイントから同じ実行を続行します。実行の ID は変わりません。 |
| **クローン**     | 実行を表示できるときはいつでも。                                                                                   | 設定のコピーを入れた状態で送信ウィザードを開きます。                   |
| **削除**         | 実行が終了状態にある。オーナーのみ。                                                                               | 実行とそのすべてのデータを完全に削除します。                           |

API には、`failed` または `cancelled` の実行に対する操作がさらに 2 つあります。

- **再試行** は、同じ設定で新しい実行を開始します。新しい実行には新しい ID が付きます。
- **やり直す** は、同じ実行を最初から再び開始します。実行の ID は変わりません。

> [!NOTE]
> 再試行、やり直し、API によるクローンは、独自の支出上限を持つ実行を受け付けません。新しい実行を開始する前に、送信ウィザードで設定を開き、新しい予算を設定してください。実行ページの **クローン** ボタンは、これを自動で行います。

API によるクローンでは、1 回のリクエストで 1〜5 個のコピーを作成できます。各コピーは実行の制限に数えられます。[制限](/docs/ja/limits) をご覧ください。

### 操作を行える人

実行に対するあなたのロールによって、表示される操作が決まります。

- **オーナー** は、すべての操作、共有の管理、実行の削除を行えます。
- **編集者** は、実行の一時停止、キャンセル、再開、再試行、および支出上限の引き上げを行えます。
- **閲覧者** は、実行を開いてクローンできます。

ロールについて詳しくは、[共有と公開](/docs/ja/guides/sharing) をお読みください。

## 実行が停止する仕組み

実行は、次の 4 つのいずれかの理由で停止します。

### 完了

オプティマイザーが作業を終えます。ステータスは `success` に変わります。Skynet は最良のバージョンを保存し、最終テストを実行します。[結果を読む](/docs/ja/guides/results) をお読みください。

### 予算

実行には、開始前のコスト見積もりがありません。支出上限が、実行が使える予算です。Skynet は、実行の進行に合わせて各スコアラー実行の実際のコストを測定します。

1. Skynet は、精算済みのスコアラー実行が 10 回になるまで待ちます。それまでは、1 回の呼び出しのコストはばらつきが大きすぎて使えません。
2. Skynet は、それまでの平均コストを使って次の反復の価格を見積もります。後の反復は通常よりコストがかかるため、価格に 1.5 を掛けます。
3. 残りの予算で次の反復を支払えなくなると、Skynet は新しい作業の受け付けを止めます。オプティマイザーは次の有料呼び出しで停止します。

その後、実行のステータスは `stopped`、停止理由は `budget_reached` になります。実行ページには **予算上限に達しました** の通知が表示されます。通知には、Skynet が保存したバージョンが示されます。

- 評価済みの最良のバージョン。
- より良いバージョンが見つからなかった場合は、評価済みの開始バージョン。
- いずれかの候補の評価が終わる前に予算が尽きた場合は、バージョンなし。入力とログは保存されたままです。

続行するには、通知の **上限を引き上げて続行** を使います。Skynet は最後のチェックポイントから実行を再開します。

> [!TIP]
> **上限なし** の実行は、完了するまでアカウント残高から引き落とします。残高が尽きると、実行は停止し、それまでの成果を保持します。その場合、通知には **アカウント残高がなくなりました** と表示されます。資金を追加してから、実行を再開してください。

一部の古い実行は、停止理由 `budget_projected` で一時停止しています。これらも同じ方法で再開できます。

### 失敗

エラーにより実行が停止します。ステータスは `failed` に変わります。**ログ** タブに何が起きたかが表示されます。実行に保存されたチェックポイントがある場合は、再開できます。再試行することもできます。

ジョブの実行中にワーカーが停止した場合、Skynet はジョブを復旧して再試行します。3 回試行した後、Skynet はジョブを失敗としてマークします。失敗またはキャンセル後の再開も、試行として数えられます。一時停止または予算による停止の後の再開は数えられません。

### キャンセル

あなたが実行をキャンセルします。ステータスは `cancelled` に変わります。キャンセルは元に戻せません。後で、保存されたチェックポイントから実行を再開したり、再試行したりできます。

## 関連ページ

- [予算と請求](/docs/ja/concepts/billing)
- [ウィザードで実行を開始する](/docs/ja/guides/submit)
- [制限](/docs/ja/limits)

---

Source: https://staging.skynetml.com/docs/ja/concepts/runs
