実行中のジョブの停止または終了
plan、 apply、または destroy などのワークスペース・ジョブを呼び出した後、実行中のジョブを停止したり、リソースのプロビジョニングを停止したりすることができます。 長時間実行ジョブを停止または取り消す場合は、まずジョブ・ログを確認して、ジョブが実際にスタックして停止する必要があるかどうか、または完了までに時間がかかる長時間実行操作を実行しているかどうかを判別することをお勧めします。
Schematics ユーザーが、停止操作の緊急度や影響度に応じて、実行中のジョブを「 (gracefully) stop 」、「 force-stop 」、または「 terminate 」できるようにする、いくつかのオプションが用意されています。
ジョブ・タイプの停止
以下の表に、停止ジョブ・タイプのリストを示します。
| タイプ | 説明 |
|---|---|
stop |
実行中のTerraformコマンドに割り込み信号を送信します。 これは、Terraform をスタンドアロンで実行する場合と同じ機能を実行します。この場合、 interrupt は cntl-C を使用して送信されるか、Terraform に似ています。 割り込みシグナルを複数回送信して、Terraform に停止を通知することができます。 Terraform は、実行中のリソース操作が完了してクリーンアップされた後に、実行中のコマンド
(plan、apply、delete) を停止しようとします。 Schematics は、コマンドの完了を待機します。 コマンドが停止または終了すると、状態とログ・ファイルが収集され、保存されます。 |
force-stop |
実行中の Terraform コマンドに kill シグナルを送信します。 これは、停止コマンド (割り込み) がコマンドを停止していないことを確認した後で Terraform コマンドを強制終了する場合に使用します。 force-stop は、コマンドが完了してジョブが停止するまで、何度でも送信できます。 強制終了シグナルに応答できる場合、Terraform は実行中のコマンドとリソース操作を即時に停止し、クリーンアップします。 コマンドが停止または終了すると、状態ファイルとログ・ファイルが収集され、保存されます。 |
terminate |
前の操作が失敗した場合、terminate は Schematics ジョブを即時に停止します。 ジョブは STOPPED としてマークされ、ワークスペースはアンロックされます。 ログおよび statefile の以前に保存されたコピーは保持されます。 ジョブが終了すると、終了時にファイルを個別に収集することなく、そのジョブは強制終了されます。 このオプションを使用すると、ログ・ファイルおよび最新の statefile 更新のデータが失われる可能性があるため、慎重に使用する必要があります。 |
ジョブが停止するまで、これらの停止シグナルをいくつでも送信することができます。 通常、3 つを超えるシグナルを送信してはなりません。 Terraformが stop リクエスト(割り込み信号)に応答しない場合は、いつでも force-stop を使用できます。 ジョブの何らかの問題が原因で force-stop が応答しない場合は、ブロックするジョブをいつでも terminate できます。
ジョブの取り消し
ジョブが pending 状態にある場合、どのような停止要求でもジョブがキャンセルされます。 ジョブが「 pending 」状態にある場合、「 Cancel 」ボタンが表示され、その状態であれば簡単にキャンセルすることができます。 キャンセルすると、保留キューからジョブが削除されます。 その間に plan、 apply、または destroy の実行が開始されると、Terraform への停止 (割り込み) シグナルになります。
UI を使用した実行中のジョブの停止
コンソールを使用して、実行中のワークスペースジョブを停止するには、以下の手順に従ってください。
-
ワークスペース・ダッシュボードから、実行中のジョブに関連するワークスペースを選択します。
計画、適用、または破棄の実行中に、実行中のジョブを停止または取り消すことができます。
-
[ジョブ ] タブをクリックすると、「 停止 」、 「強制停止 」、「 終了 」、「 キャンセル 」ボタンが表示されます。
| ボタン | 説明 |
|---|---|
| 停止 | 保留キューからジョブを除去します (ジョブが保留状態の場合)。 それ以外の場合は、Terraform コマンドに割り込みシグナルを送信します。 |
| 強制停止 | 実行中の Terraform コマンドに kill シグナルを送信します。 |
| 終了 | Schematics ジョブを終了し、そのジョブを「STOPPED」としてマークし、ワークスペースのロックを解除します。 このコマンドは、データが失われる可能性があるため、慎重に使用する必要があります。 |
| キャンセル | ジョブが「 pending 」状態の場合、「 Cancel 」ボタンが表示され、その状態であれば簡単にキャンセルすることができます。 キャンセルすると、保留キューからジョブが削除されます。 plan、apply、または destroy の実行がその間に開始されると、これは Terraform 実行への割り込みシグナルになります。 |
<option>名前を 確認のためにオプションを入力してください テキスト・ボックスに入力します。- 「確認オプション」 ボタンをクリックします。
CLI を使用した実行中のジョブの停止
実行中の IBM Cloud Schematics ワークスペースジョブを停止します。
構文
ibmcloud schematics workspace job stop --id WORKSPACE_ID --job-id JOB_ID [--stop] [--force-stop] [--terminate] [--no-prompt]
コマンド・オプション
| フラグ | 必須 / オプション | 説明 |
|---|---|---|
--idまたは-i |
必須 | 更新するワークスペース ID。 |
--job-idまたは--jid |
必須 | ジョブのジョブ ID です。 |
--stop |
オプション | 保留キューからジョブを除去します (ジョブが保留状態の場合)。 それ以外の場合は、Terraform コマンドに割り込みシグナルを送信します。 |
--force-stopまたは--fs |
オプション | 実行を即時に停止しようとしているエンジンの Terraform 実行に強制終了シグナルを送信します。 |
--terminateまたは-t |
オプション | エンジンを突然強制終了し、ジョブに停止のマークを付け、ワークスペースをアンロックします。 このフラグを使用すると、データは保存されません。 |
--no-prompt |
オプション | 対話モードを使用しないでコマンドを実行するには、このフラグを設定します。 |
例
ibmcloud schematics workspace job stop --id <WORKSPACE_ID> --stop --job-id <JOB_ID>
ibmcloud schematics workspace job stop --id <WORKSPACE_ID> --force-stop --job-id <JOB_ID>
ibmcloud schematics workspace job stop --id <WORKSPACE_ID> --terminate --job-id <JOB_ID>
API を使用した実行中のジョブの停止
以下の CURL コマンドを使用して、IBM Cloud Schematics ワークスペースの実行中のジョブを停止できます。
実行中のジョブを停止する構文
-
Schematics API を実行するための REST クライアントを設定します。
-
構文と例を参照して、実行中のジョブを停止してください。
構文
curl -X DELETE https://schematics.cloud.ibm.com/v1/workspaces/<wks_id>/actions/{job_id}?signal=interrupt -H "Authorization: <iam_token>"例
curl -X DELETE https://schematics.cloud.ibm.com/v2/jobs/{job_id}?signal=interrupt -H "Authorization: <iam_token>" -
この例を使用して、実行中のジョブを
force-stopします。例
curl -X DELETE https://schematics.cloud.ibm.com/v1/workspaces/<wks_id>/actions/{job_id}?signal=force-stop -H "Authorization: <iam_token>" -
この例を使用して、実行中のジョブを
terminateします。例
curl -X DELETE https://schematics.cloud.ibm.com/v1/workspaces/<wks_id>/actions/{job_id}?signal=terminate -H "Authorization: <iam_token>"実行中のジョブの停止に関する詳細については、「 実行中のジョブの停止と削除 API」を参照してください。
Schematics のジョブの詳細の確認
コンソールの Schematics ジョブ・ページを使用して、すべての Schematics アクティビティー (template、plan、apply のダウンロードなど) の履歴を検索し、ジョブのログを表示します。 テンプレートを実行するとジョブが作成されます。 plan または apply ジョブ内にあって、状態が added、modified、または
destroyed であるリソースのカウントも表示されます。 ジョブキューの処理に関する詳細については、「 Schematics のジョブキューの実行プロセス 」を参照してください。
ジョブ・ログには、以下のようなメッセージが表示されます。
-
アクティビティーがトリガーされました。 ログを待機しています。 これは、ジョブが保留状況で、まだ処理されていないことを示します。
-
ジョブが実行依頼され、y の x 位置でキューに入っています。 ここで、
xは保留キュー内のジョブの位置で、yは保留ジョブの合計です。 Schematics バックエンドで使用可能なリソースは、保留中のジョブに均等に配布されます。 大量のジョブを実行している場合は、合計とともに位置の増加を表示できます。