工作排程失敗事件
當工作無法排程且將於稍後重試,便會發出此事件。 這是排程工作時因資源限制的暫時失敗,例如:節點的可用位置不足以執行已指定 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 | 描述工作排程錯誤的訊息,以便在使用者介面中顯示。 |