JobReleaseTask interface
ジョブ解放タスクは、ジョブの終了時に実行されます。ジョブがアクティブな間にユーザーがジョブ終了 API を呼び出すか、ジョブの削除 API を呼び出すか、ジョブの最大ウォール クロック時間制約に達し、ジョブがまだアクティブであるか、ジョブのジョブ マネージャー タスクが完了し、ジョブ マネージャーが完了したときにジョブが終了するように構成されます。 ジョブ解放タスクは、ジョブのタスクが実行され、ジョブ準備タスクが実行されて完了した各ノードで実行されます。 ジョブ準備タスクを実行した後にノードを再イメージ化し、そのノードで実行されているジョブのタスクを追加せずにジョブを終了した場合 (そのため、ジョブ準備タスクは再実行されません)、ジョブ解放タスクはそのコンピューティング ノードでは実行されません。 ジョブ解放タスクの実行中にノードが再起動した場合、コンピューティング ノードの起動時にジョブ解放タスクが再度実行されます。 ジョブは、すべてのジョブ解放タスクが完了するまで完了としてマークされません。 ジョブ解放タスクはバックグラウンドで実行されます。 スケジュール スロットは占有されません。つまり、プールで指定された taskSlotsPerNode の制限にはカウントされません。
プロパティ
| command |
ジョブ解放タスクのコマンド ライン。 コマンド ラインはシェルでは実行されないため、環境変数の拡張などのシェル機能を利用することはできません。 このような機能を利用する場合は、コマンド ラインでシェルを呼び出す必要があります。たとえば、Windows では "cmd /c MyCommand" を使用し、Linux では "/bin/sh -c MyCommand" を使用します。 コマンド ラインがファイル パスを参照している場合は、相対パス (Task 作業ディレクトリに対する相対パス) を使用するか、Batch で指定された環境変数 (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables) を使用する必要があります。 |
| container |
ジョブ解放タスクを実行するコンテナーの設定。 これを指定すると、AZ_BATCH_NODE_ROOT_DIRの下にあるすべてのディレクトリ (ノード上の Azure Batch ディレクトリのルート) がコンテナーに再帰的にマップされ、すべての Task 環境変数がコンテナーにマップされ、タスク コマンド ラインがコンテナーで実行されます。 AZ_BATCH_NODE_ROOT_DIR外のコンテナーで生成されたファイルはホスト ディスクに反映されない可能性があります。つまり、Batch ファイル API はそれらのファイルにアクセスできません。 |
| environment |
ジョブ解放タスクの環境変数設定の一覧。 |
| id | ジョブ内のジョブ解放タスクを一意に識別する文字列。 ID には、ハイフンやアンダースコアを含む英数字を任意に組み合わせて使用でき、64 文字を超えることはできません。 このプロパティを指定しない場合、Batch サービスは既定値の "jobrelease" を割り当てます。 ジョブ内の他のタスクは、ジョブ解放タスクと同じ ID を持つ必要はありません。 同じ ID のタスクを送信しようとすると、Batch サービスはエラー コード TaskIdSameAsJobReleaseTask で要求を拒否します。REST API を直接呼び出す場合、HTTP 状態コードは 409 (競合) です。 |
| max |
特定のコンピューティング ノードでジョブ解放タスクを実行できる最大経過時間 。タスクの開始時から測定されます。 タスクが制限時間内に完了しない場合、Batch サービスによって終了されます。 既定値は 15 分です。 タイムアウトを 15 分より長く指定することはできません。 その場合、Batch サービスはエラーで拒否します。REST API を直接呼び出す場合、HTTP 状態コードは 400 (無効な要求) です。 |
| resource |
コマンド ラインを実行する前に Batch サービスがコンピューティング ノードにダウンロードするファイルの一覧。 リソース ファイルの一覧には最大サイズがあります。 最大サイズを超えると、要求は失敗し、応答エラー コードは RequestEntityTooLarge になります。 この場合、ResourceFiles のコレクションのサイズを小さくする必要があります。 これは、.zip ファイル、アプリケーション パッケージ、または Docker コンテナーを使用して実現できます。 この要素の下に一覧表示されるファイルは、タスクの作業ディレクトリにあります。 |
| retention |
コンピューティング ノード上のジョブ リリース タスクの Task ディレクトリを保持する最小時間。 この時間が経過すると、Batch サービスは Task ディレクトリとそのすべての内容を削除できます。 既定値は 7 日間です。つまり、コンピューティング ノードが削除されるか、ジョブが削除されない限り、タスク ディレクトリは 7 日間保持されます。 |
| user |
ジョブ解放タスクを実行するユーザー ID。 省略した場合、タスクはタスクに固有の非管理ユーザーとして実行されます。 |
プロパティの詳細
commandLine
ジョブ解放タスクのコマンド ライン。 コマンド ラインはシェルでは実行されないため、環境変数の拡張などのシェル機能を利用することはできません。 このような機能を利用する場合は、コマンド ラインでシェルを呼び出す必要があります。たとえば、Windows では "cmd /c MyCommand" を使用し、Linux では "/bin/sh -c MyCommand" を使用します。 コマンド ラインがファイル パスを参照している場合は、相対パス (Task 作業ディレクトリに対する相対パス) を使用するか、Batch で指定された環境変数 (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables) を使用する必要があります。
commandLine: string
プロパティ値
string
containerSettings
ジョブ解放タスクを実行するコンテナーの設定。 これを指定すると、AZ_BATCH_NODE_ROOT_DIRの下にあるすべてのディレクトリ (ノード上の Azure Batch ディレクトリのルート) がコンテナーに再帰的にマップされ、すべての Task 環境変数がコンテナーにマップされ、タスク コマンド ラインがコンテナーで実行されます。 AZ_BATCH_NODE_ROOT_DIR外のコンテナーで生成されたファイルはホスト ディスクに反映されない可能性があります。つまり、Batch ファイル API はそれらのファイルにアクセスできません。
containerSettings?: TaskContainerSettings
プロパティ値
environmentSettings
id
ジョブ内のジョブ解放タスクを一意に識別する文字列。 ID には、ハイフンやアンダースコアを含む英数字を任意に組み合わせて使用でき、64 文字を超えることはできません。 このプロパティを指定しない場合、Batch サービスは既定値の "jobrelease" を割り当てます。 ジョブ内の他のタスクは、ジョブ解放タスクと同じ ID を持つ必要はありません。 同じ ID のタスクを送信しようとすると、Batch サービスはエラー コード TaskIdSameAsJobReleaseTask で要求を拒否します。REST API を直接呼び出す場合、HTTP 状態コードは 409 (競合) です。
id?: string
プロパティ値
string
maxWallClockTime
特定のコンピューティング ノードでジョブ解放タスクを実行できる最大経過時間 。タスクの開始時から測定されます。 タスクが制限時間内に完了しない場合、Batch サービスによって終了されます。 既定値は 15 分です。 タイムアウトを 15 分より長く指定することはできません。 その場合、Batch サービスはエラーで拒否します。REST API を直接呼び出す場合、HTTP 状態コードは 400 (無効な要求) です。
maxWallClockTime?: string
プロパティ値
string
resourceFiles
コマンド ラインを実行する前に Batch サービスがコンピューティング ノードにダウンロードするファイルの一覧。 リソース ファイルの一覧には最大サイズがあります。 最大サイズを超えると、要求は失敗し、応答エラー コードは RequestEntityTooLarge になります。 この場合、ResourceFiles のコレクションのサイズを小さくする必要があります。 これは、.zip ファイル、アプリケーション パッケージ、または Docker コンテナーを使用して実現できます。 この要素の下に一覧表示されるファイルは、タスクの作業ディレクトリにあります。
resourceFiles?: ResourceFile[]
プロパティ値
retentionTime
コンピューティング ノード上のジョブ リリース タスクの Task ディレクトリを保持する最小時間。 この時間が経過すると、Batch サービスは Task ディレクトリとそのすべての内容を削除できます。 既定値は 7 日間です。つまり、コンピューティング ノードが削除されるか、ジョブが削除されない限り、タスク ディレクトリは 7 日間保持されます。
retentionTime?: string
プロパティ値
string
userIdentity
ジョブ解放タスクを実行するユーザー ID。 省略した場合、タスクはタスクに固有の非管理ユーザーとして実行されます。
userIdentity?: UserIdentity