タスク再キューイベント

このイベントは、バッチがタスクを再キューさせて再度スケジューリングできるようにしたときに発生します。

タスクは、ノード削除、ジョブ無効化操作によるタスクの再キュー、その他のサービス駆動型復旧シナリオの後に再キュー化されます。

再キューされたタスクが再びスケジューリングされると、バッチはその後の試みのために新しい タスク開始 イベントを発行します。

以下の例はタスク再キューイベントの本文を示しています。

{
    "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"
                }
            ]
        }
    }
}

exitCoderesultschedulingError は、バッチが再キューされたタスクの実行エラー情報を持っている場合にのみ入力されます。

要素名 タイプ 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 細部の価値。