IBM Cloud Docs
実行中のジョブの停止または終了

実行中のジョブの停止または終了

planapply、または destroy などのワークスペース・ジョブを呼び出した後、実行中のジョブを停止したり、リソースのプロビジョニングを停止したりすることができます。 長時間実行ジョブを停止または取り消す場合は、まずジョブ・ログを確認して、ジョブが実際にスタックして停止する必要があるかどうか、または完了までに時間がかかる長時間実行操作を実行しているかどうかを判別することをお勧めします。

Schematics には、ユーザーが停止操作の即時性と影響の順序で実行中のジョブ (gracefully) stopforce-stop、または terminate を実行できるようにするためのオプションがいくつか用意されています。

ジョブ・タイプの停止

以下の表に、停止ジョブ・タイプのリストを示します。

ジョブ停止のタイプ
タイプ 説明
stop 実行中の Terraform コマンドに割り込み信号を送信します。 これは、Terraform をスタンドアロンで実行する場合と同じ機能を実行します。この場合、 interruptcntl-C を使用して送信されるか、Terraform に似ています。 割り込みシグナルを複数回送信して、Terraform に停止を通知することができます。 Terraform は、実行中のリソース操作が完了してクリーンアップされた後に、実行中のコマンド (plan、apply、delete) を停止しようとします。 Schematics は、コマンドの完了を待機します。 コマンドが停止または終了すると、状態とログ・ファイルが収集され、保存されます。
force-stop 実行中の Terraform コマンドに kill シグナルを送信します。 これは、停止コマンド (割り込み) がコマンドを停止していないことを確認した後で Terraform コマンドを強制終了する場合に使用します。 force-stop は、コマンドが完了してジョブが停止するまで、何度でも送信できます。 強制終了シグナルに応答できる場合、Terraform は実行中のコマンドとリソース操作を即時に停止し、クリーンアップします。 コマンドが停止または終了すると、状態ファイルとログ・ファイルが収集され、保存されます。
terminate 前の操作が失敗した場合、terminate は Schematics ジョブを即時に停止します。 ジョブは STOPPED としてマークされ、ワークスペースはアンロックされます。 ログおよび statefile の以前に保存されたコピーは保持されます。 ジョブが終了すると、最後にファイルを個別に収集することなく、ジョブが終了します。 このオプションを使用すると、ログ・ファイルおよび最新の statefile 更新のデータが失われる可能性があるため、慎重に使用する必要があります。

ジョブが停止するまで、これらの停止シグナルをいくつでも送信することができます。 通常、3 つを超えるシグナルを送信してはなりません。 stop へのリクエスト(割り込み信号)に Terraform が応答しない場合は、常に force-stop を使用できます。 ジョブの何らかの問題が原因で force-stop が応答しない場合は、ブロックするジョブをいつでも terminate できます。

ジョブの取り消し

ジョブが pending の状態にある場合、あらゆる種類の停止リクエストにより、ジョブがキャンセルされます。 Cancel ボタンは、 pending の状態にある場合に表示され、簡単にキャンセルできます。 キャンセルすると、保留キューからジョブが削除されます。 その間に planapply、または destroy の実行が開始されると、Terraform への停止 (割り込み) シグナルになります。

UI を使用した実行中のジョブの停止

コンソールを使用して実行中のワークスペースジョブを停止するには、以下の手順に従います。

  1. ワークスペース・ダッシュボードから、実行中のジョブに関連するワークスペースを選択します。

    計画、適用、または破棄の実行中に、実行中のジョブを停止または取り消すことができます。

  2. 「ジョブ」タブをクリックすると 、「停止 」、「強制停止 」、「終了 」、「キャンセル 」ボタンが表示されます。

    ジョブ停止オプション
    ボタン 説明
    停止 保留キューからジョブを除去します (ジョブが保留状態の場合)。 それ以外の場合は、Terraform コマンドに割り込みシグナルを送信します。
    強制停止 実行中の Terraform コマンドに kill シグナルを送信します。
    終了 Schematicsを終了し、ジョブをSTOPPEDとしてマークし、ワークスペースのロックを解除します。 このコマンドは、データが失われる可能性があるため、慎重に使用する必要があります。
    キャンセル Cancel ボタンは、 pending の状態にある場合に表示され、簡単にキャンセルすることができます。 キャンセルすると、保留キューからジョブが削除されます。 planapply、または destroy の実行がその間に開始されると、これは Terraform 実行への割り込みシグナルになります。
  3. <option> 名前を 確認のためにオプションを入力してください テキスト・ボックスに入力します。

  4. 「確認オプション」 ボタンをクリックします。

CLI を使用した実行中のジョブの停止

実行中の IBM Cloud Schematics ワークスペース・ジョブを停止します。

構文

ibmcloud schematics workspace job stop --id WORKSPACE_ID --job-id JOB_ID [--stop] [--force-stop] [--terminate] [--no-prompt]

コマンド・オプション

Schematics ジョブ停止フラグ
フラグ 必須 / オプション 説明
--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 ワークスペースの実行中のジョブを停止できます。

実行中のジョブを停止する構文

  1. Schematics API を実行するための REST クライアントを設定します

  2. 実行中のジョブを停止するには、構文と例を使用します。

    構文

    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>"
    
  3. この例を使用して、実行中のジョブを force-stop します。

    curl -X DELETE https://schematics.cloud.ibm.com/v1/workspaces/<wks_id>/actions/{job_id}?signal=force-stop -H "Authorization: <iam_token>"
    
  4. この例を使用して、実行中のジョブを terminate します。

    curl -X DELETE https://schematics.cloud.ibm.com/v1/workspaces/<wks_id>/actions/{job_id}?signal=terminate -H "Authorization: <iam_token>"
    

    実行中のジョブの停止に関する詳細は 、「実行中のジョブの停止と削除」 を参照してください。

Schematics のジョブの詳細の確認

コンソールの Schematics ジョブ・ページを使用して、すべての Schematics アクティビティー (templateplanapply のダウンロードなど) の履歴を検索し、ジョブのログを表示します。 テンプレートを実行するとジョブが作成されます。 plan または apply ジョブ内にあって、状態が addedmodified、または destroyed であるリソースのカウントも表示されます。 ジョブキュー処理の詳細については Schematics の実行プロセス 」を参照してください。

ジョブ・ログには、以下のようなメッセージが表示されます。

  • アクティビティーがトリガーされました。 ログを待機しています。 これは、ジョブが保留状況で、まだ処理されていないことを示します。

  • ジョブが実行依頼され、y の x 位置でキューに入っています。 ここで、x は保留キュー内のジョブの位置で、y は保留ジョブの合計です。 Schematics バックエンドで使用可能なリソースは、保留中のジョブに均等に配布されます。 大量のジョブを実行している場合は、合計とともに位置の増加を表示できます。