このイベントは、バッチがタスクを再キューさせて再度スケジューリングできるようにしたときに発生します。
タスクは、ノード削除、ジョブ無効化操作によるタスクの再キュー、その他のサービス駆動型復旧シナリオの後に再キュー化されます。
再キューされたタスクが再びスケジューリングされると、バッチはその後の試みのために新しい タスク開始 イベントを発行します。
以下の例はタスク再キューイベントの本文を示しています。
{
"jobId": "myJob",
"id": "myTask",
"taskType": "User",
"systemTaskVersion": 3,
"requiredSlots": 1,
"nodeInfo": {
"poolId": "pool-001",
"nodeId": "tvm-257509324_1-20160908t162728z"
},
"multiInstanceSettings": {
"numberOfInstances": 1
},
"constraints": {
"maxTaskRetryCount": 2
},
"executionInfo": {
"startTime": "2016-09-08T16:32:23.799Z",
"endTime": "2016-09-08T16:34:00.666Z",
"exitCode": 11,
"retryCount": 0,
"requeueCount": 1,
"result": "failure",
"schedulingError": {
"category": "UserError",
"code": "BadCommandType",
"message": "Task has invalid command",
"details": [
{
"name": "Reason",
"value": "Access denied"
}
]
}
}
}
exitCode、 result、 schedulingError は、バッチが再キューされたタスクの実行エラー情報を持っている場合にのみ入力されます。
| 要素名 | タイプ | Notes |
|---|---|---|
jobId |
String | タスクを含むジョブの ID。 |
id |
String | タスクの ID です。 |
taskType |
String | タスクの種類。
JobManagerはジョブマネージャータスクであることを示すか、Userジョブマネージャータスクではないことを示します。 このイベントは、ジョブ準備タスク、ジョブ解放タスク、または開始タスクには出力されません。 これらのタスクについては、 スペシャルタスクイベントを参照してください。 |
systemTaskVersion |
Int32 | タスクの内部再試行カウンター。 内部的には、Batch サービスはタスクを再試行して、一時的な問題を考慮することができます。 これらの問題には、内部スケジュール エラーや、不適切な状態のコンピューティング ノードからの復旧の試行が含まれる場合があります。 |
requiredSlots |
Int32 | タスクを実行するために必要なスロット。 |
nodeInfo |
複合型 | タスクが直近に実行された計算ノードに関する情報を含みます。 |
multiInstanceSettings |
複合型 | タスクが複数のコンピューティング ノードを必要とするマルチインスタンス タスクであることを指定します。 詳細については、multiInstanceSettings を参照してください。 |
constraints |
複合型 | このタスクに適用される実行制約。 |
executionInfo |
複合型 | タスクが再キューされた際にキャプチャされた実行状態に関する情報を含みます。 |
nodeInfo
| 要素名 | タイプ | Notes |
|---|---|---|
poolId |
String | このタスクが直近に行われたプールのIDです。 |
nodeId |
String | タスクが直近に実行されたノードのIDです。 |
multiInstanceSettings
| 要素名 | タイプ | Notes |
|---|---|---|
numberOfInstances |
Int32 | タスクに必要なコンピューティング ノードの数。 |
制約
| 要素名 | タイプ | Notes |
|---|---|---|
maxTaskRetryCount |
Int32 | タスクが再試行される最大回数。 終了コードが 0 以外の場合、Batch サービスはタスクを再試行します。 この値は、再試行回数を具体的に制御します。 Batch サービスはタスクを 1 回試行し、この制限まで再試行する場合があります。 たとえば、最大再試行回数が 3 の場合、Batch は最大 4 回 (1 回の最初の再試行と 3 回の再試行) のタスクを試行します。 最大再試行回数が 0 の場合、Batch サービスはタスクを再試行しません。 最大再試行回数が -1 の場合、Batch サービスは制限なくタスクを再試行します。 既定値は 0 (再試行なし) です。 |
実行情報
| 要素名 | タイプ | Notes |
|---|---|---|
startTime |
日時 | タスクが最近実行を開始してから再キューされた時間。 もし課題が始まっていなければ、このフィールドは省略されていたかもしれません。 |
endTime |
日時 | タスクが直近で停止し、再キューされるまでの時間。 もし課題が始まっていなければ、このフィールドは省略されていたかもしれません。 |
exitCode |
Int32 | バッチが報告すべきタスクを一つ持っている間に、直近のタスク実行の出口コード。 それ以外の場合、このフィールドは省略されます。 |
retryCount |
Int32 | Batch サービスがタスクを再試行した回数。 タスクは終了時に終了コードがゼロでなければ再試行され、指定された最大再試行回数まで制限されます。 |
requeueCount |
Int32 | バッチサービスがタスクを再キューさせた回数。 現在送信されているペイロードでは、このフィールドはサービスの現在の再キューカウンターを反映しています。 |
result |
String | 利用可能な場合のタスクに対するサービス定義の結果文字列。 |
schedulingError |
複合型 | 報告されたエラーの詳細情報が記載されており、利用可能な場合は含まれます。 |
schedulingError
| 要素名 | タイプ | Notes |
|---|---|---|
category |
String | 例えば誤差カテゴリーは UserError。 |
code |
String | 例えばエラーコードは BadCommandType。 |
message |
String | エラー メッセージ。 |
details |
Array | エラーの詳細を示す名前-値ペアのリスト。 追加の詳細値がなければ、配列は空です。 |
details
| 要素名 | タイプ | Notes |
|---|---|---|
name |
String | 詳細名。 |
value |
String | 細部の価値。 |