工作排程失敗事件

當工作無法排程且將於稍後重試,便會發出此事件。 這是排程工作時因資源限制的暫時失敗,例如:節點的可用位置不足以執行已指定 requiredSlots 的工作。

下列範例顯示工作排程失敗事件的內文。

{
    "jobId": "job-01",
    "id": "task-01",
    "taskType": "User",
    "systemTaskVersion": 665378862,
    "requiredSlots": 1,
    "nodeInfo": {
        "poolId": "pool-01",
        "nodeId": " "
    },
    "multiInstanceSettings": {
        "numberOfInstances": 1
    },
    "constraints": {
        "maxTaskRetryCount": 0
    },
    "schedulingError": {
        "category": "UserError",
        "code": "JobPreparationTaskFailed",
        "message": "Task cannot run because the job preparation task failed on node"
    }
}
元素名稱 類型 注意
jobId String 含有工作的作業識別碼。
id String 工作識別碼。
taskType String 工作類型。 可以是 'JobManager',表示這是作業管理員工作,或是 'User',表示不是作業管理員工作。 對於作業準備工作、作業發行工作或開始工作。不會發出此事件。
systemTaskVersion Int32 這是作業上的內部重試計數器。 Batch 服務可在內部重試工作,以處理暫時性問題。 這些問題包含內部排程錯誤,或嘗試從不正常狀態的計算節點復原。
requiredSlots Int32 執行工作所需的位置。
nodeInfo 複雜類型 包含工作執行所在計算節點的相關資訊。
multiInstanceSettings 複雜類型 指定工作為需要多個計算節點的多重執行個體工作。 如需詳細資訊,請參閱<multiInstanceSettings>。
constraints 複雜類型 套用至此工作的執行限制。
schedulingError 複雜類型 包含工作排程錯誤的相關資訊。

nodeInfo

元素名稱 類型 注意
poolId String 工作執行所在集區的識別碼。
nodeId String 工作執行所在節點的識別碼。

multiInstanceSettings

元素名稱 類型 注意
numberOfInstances Int32 工作需要的計算節點數目。

條件約束

元素名稱 類型 注意
maxTaskRetryCount Int32 工作重試次數上限。 如果工作的結束代碼不是零,Batch 服務會重試工作。

請注意,這個值會特別控制重試次數。 Batch 服務會嘗試工作一次,然後可一直重試直到達此限制。 例如,如果重試計數上限為 3,則 Batch 可嘗試工作最多 4 次 (一次首次嘗試,3 次重試)。

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

如果重試計數上限為 -1,則 Batch 服務會無限制地重試工作。

預設值為 0 (不重試)。

schedulingError

元素名稱 類型 注意
category String 錯誤類別。
code String 工作排程錯誤的識別碼。 程式碼不變,且要以程式設計方式使用。
message String 描述工作排程錯誤的訊息,以便在使用者介面中顯示。