任務重新排隊事件

當批次重新排隊任務以便重新排程時,會觸發此事件。

任務可在服務操作後重新排隊,例如節點移除、工作停用操作(重新排隊任務)或其他以服務驅動的恢復情境。

當重新排隊的任務再次排程時,批次會為該次嘗試發出新的 任務開始 事件。

以下範例展示了任務重新排隊事件的主體。

{
    "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 String 工作識別碼。
taskType String 工作的型別。 這要麼 JobManager 表示這是工作管理員的任務,要麼 User 表示不是工作管理員的任務。 此事件不會用於工作準備任務、工作釋放任務或開始任務。 關於這些任務,請參見 特殊任務事件
systemTaskVersion Int32 工作上的內部重試計數器。 在內部,Batch 服務可以重試工作以考慮暫時性問題。 這些問題可能包括內部排程錯誤,或嘗試從處於不良狀態的計算節點復原。
requiredSlots Int32 執行工作所需的位置。
nodeInfo 複雜類型 包含該任務最近執行的計算節點資訊。
multiInstanceSettings 複雜類型 指定工作是需要多個計算節點的多實例工作。 如需詳細資訊,請參閱 multiInstanceSettings
constraints 複雜類型 套用至此工作的執行條件約束。
executionInfo 複雜類型 包含任務重新排隊時擷取的執行狀態資訊。

nodeInfo

元素名稱 類型 Notes
poolId String 最近執行任務的池子編號。
nodeId String 任務最近執行的節點 ID。

multiInstanceSettings

元素名稱 類型 Notes
numberOfInstances Int32 工作所需的計算節點數目。

限制式

元素名稱 類型 Notes
maxTaskRetryCount Int32 任務可重試的最大次數。 如果 Batch 服務結束代碼為非零,則會重試工作。

這個值會特別控制重試次數。 批次服務會嘗試一次任務,然後可能會重複嘗試到這個限制。 例如,如果最大重試次數是 3 次,批次會嘗試同一任務最多四次(一次初次嘗試,三次重試)。

如果重試計數上限為0,Batch服務就不會重試工作。

如果重試計數上限為 -1,Batch 服務會重試沒有限制的工作。

預設值為 0(沒有重試)。

執行資訊

元素名稱 類型 Notes
startTime 日期時間 任務最近開始執行的時間點,然後才被重新排隊。 如果任務尚未開始,這個欄位可能會被省略。
endTime 日期時間 就是任務最近一次停止執行的時間,然後才被重新排隊。 如果任務尚未開始,這個欄位可能會被省略。
exitCode Int32 最近一次任務執行的退出代碼,當批次有任務要回報時。 否則,該欄位會被省略。
retryCount Int32 批次服務重試該任務的次數。 如果任務以非零的退出碼退出,且在指定的最大任務重試次數內,任務會重新嘗試。
requeueCount Int32 批次服務重新排隊該任務的次數。 在目前已發射的有效載荷中,此欄位反映服務目前任務的重排隊計數器。
result String 當任務有服務定義的結果字串時。
schedulingError 複雜類型 包含關於報告錯誤的詳細資訊(若有的話)。

排程錯誤

元素名稱 類型 Notes
category String 錯誤類別,例如 UserError
code String 錯誤代碼,例如 BadCommandType
message String 錯誤訊息。
details Array 一份包含名稱與值對的清單,提供錯誤的更多細節。 若無額外細節值,陣列為空。

details

元素名稱 類型 Notes
name String 細節名稱。
value String 細節值。