當工作無法排程且稍後重試時,就會發出此事件。 這是工作排程時間的暫時失敗,因為資源限制,例如,節點上沒有足夠的可用位置來執行具有 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 |
繩子 | 包含工作的作業標識碼。 |
id |
繩子 | 工作識別碼。 |
taskType |
繩子 | 工作的型別。 它可能是 『JobManager』,表示它是作業管理員工作,或是指出它不是作業管理員工作的 『User』。 此事件不會針對作業準備工作、作業發行工作或啟動工作發出。 |
systemTaskVersion |
Int32 | 工作上的內部重試計數器。 在內部,Batch 服務可以重試工作以考慮暫時性問題。 這些問題可能包括內部排程錯誤,或嘗試從處於不良狀態的計算節點復原。 |
requiredSlots |
Int32 | 執行工作所需的位置。 |
nodeInfo |
複雜類型 | 包含工作執行所在的計算節點相關信息。 |
multiInstanceSettings |
複雜類型 | 指定工作是需要多個計算節點的多實例工作。 如需詳細資訊,請參閱 multiInstanceSettings。 |
constraints |
複雜類型 | 套用至此工作的執行條件約束。 |
schedulingError |
複雜類型 | 包含工作排程錯誤的相關信息。 |
nodeInfo
| 元素名稱 | 類型 | 註釋 |
|---|---|---|
poolId |
繩子 | 工作執行所在的集區標識碼。 |
nodeId |
繩子 | 工作執行所在的節點識別碼。 |
multiInstanceSettings
| 元素名稱 | 類型 | 註釋 |
|---|---|---|
numberOfInstances |
Int32 | 工作所需的計算節點數目。 |
限制式
| 元素名稱 | 類型 | 註釋 |
|---|---|---|
maxTaskRetryCount |
Int32 | 重試工作的最大次數。 如果 Batch 服務結束代碼為非零,則會重試工作。 這個值會特別控制重試次數。 Batch 服務會嘗試工作一次,然後可能會重試到此限制。 例如,如果重試計數上限為 3,Batch 會嘗試工作最多 4 次(一次初始嘗試,3 次重試)。 如果重試計數上限為0,Batch服務就不會重試工作。 如果重試計數上限為 -1,Batch 服務會重試沒有限制的工作。 預設值為 0(沒有重試)。 |
schedulingError
| 元素名稱 | 類型 | 註釋 |
|---|---|---|
category |
繩子 | 錯誤的類別。 |
code |
繩子 | 工作排程錯誤的識別碼。 程序代碼是不變的,而且是要以程序設計方式取用。 |
message |
繩子 | 描述工作排程錯誤的訊息,用於顯示在使用者介面中。 |