當批次重新排隊任務以便重新排程時,會觸發此事件。
任務可在服務操作後重新排隊,例如節點移除、工作停用操作(重新排隊任務)或其他以服務驅動的恢復情境。
當重新排隊的任務再次排程時,批次會為該次嘗試發出新的 任務開始 事件。
以下範例展示了任務重新排隊事件的主體。
{
"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"
}
]
}
}
}
exitCode、 result、 schedulingError 和 只有在批次有重新排隊任務的執行錯誤資訊時才會被填入。
| 元素名稱 | 類型 | 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 | 細節值。 |