이 이벤트는 배치가 작업을 다시 대기열에 넣어 다시 스케줄링할 때 발생합니다.
노드 제거, 작업 비활성화 작업(작업 재대기열) 작업 또는 기타 서비스 기반 복구 시나리오와 같은 서비스 작업 후에 작업을 재대기열 처리할 수 있습니다.
재대기열에 저장된 작업이 다시 스케줄링될 때, 배치는 그 후속 시도를 위한 새로운 작업 시작 이벤트를 생성합니다.
다음 예시는 작업 재대기열 이벤트의 본문을 보여줍니다.
{
"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입니다. |
id |
String | 태스크의 ID입니다. |
taskType |
String | 작업의 형식입니다. 이 작업 JobManager 은 작업 관리자 작업임을 나타내거나 User 작업 관리자 작업이 아님을 나타내는 것입니다. 이 이벤트는 작업 준비 작업, 작업 릴리스 작업 또는 시작 작업에 대해 내보내지지 않습니다. 해당 과제에 대해서는 Special task 이벤트를 참조하세요. |
systemTaskVersion |
Int32 | 작업에 대한 내부 재시도 카운터입니다. 내부적으로 Batch 서비스는 일시적 문제를 고려하기 위해 작업을 다시 시도할 수 있습니다. 이러한 문제에는 내부 일정 오류 또는 잘못된 상태의 컴퓨팅 노드에서 복구하려는 시도가 포함될 수 있습니다. |
requiredSlots |
Int32 | 작업을 실행하는 데 필요한 슬롯입니다. |
nodeInfo |
복합 형식 | 작업이 가장 최근에 실행된 컴퓨트 노드에 대한 정보를 포함합니다. |
multiInstanceSettings |
복합 형식 | 태스크가 여러 컴퓨팅 노드가 필요한 다중 인스턴스 태스크임을 지정합니다. 자세한 내용은 multiInstanceSettings를 참조하세요. |
constraints |
복합 형식 | 이 작업에 적용되는 실행 제약 조건입니다. |
executionInfo |
복합 형식 | 작업이 재대열에 재배치될 때 캡처된 실행 상태에 대한 정보를 포함합니다. |
nodeInfo
| 요소 이름 | 유형 | Notes |
|---|---|---|
poolId |
String | 최근에 과제가 진행된 풀의 ID였다. |
nodeId |
String | 작업이 가장 최근에 실행된 노드의 ID입니다. |
multiInstanceSettings
| 요소 이름 | 유형 | Notes |
|---|---|---|
numberOfInstances |
Int32 | 태스크에 필요한 컴퓨팅 노드 수입니다. |
제약 조건
| 요소 이름 | 유형 | Notes |
|---|---|---|
maxTaskRetryCount |
Int32 | 작업을 다시 시도될 수 있는 최대 횟수입니다. Batch 서비스는 종료 코드가 0이 아닌 경우 작업을 다시 시도합니다. 이 값은 특히 재시도 횟수를 제어합니다. Batch 서비스는 작업을 한 번 시도한 다음 이 제한까지 다시 시도할 수 있습니다. 예를 들어 최대 재시도 횟수가 3인 경우 Batch는 최대 4회(초기 시도 1회, 재시도 3회)를 시도합니다. 최대 재시도 횟수가 0이면 Batch 서비스는 작업을 다시 시도하지 않습니다. 최대 재시도 횟수가 -1이면 Batch 서비스는 제한 없이 작업을 다시 시도합니다. 기본값은 0(재시도 안 됨)입니다. |
실행정보
| 요소 이름 | 유형 | Notes |
|---|---|---|
startTime |
날짜/시간 | 작업이 가장 최근에 실행되기 시작한 시점, 그리고 다시 대기열에 들어간 시간입니다. 만약 과제가 시작되지 않았다면, 이 필드는 생략될 수 있습니다. |
endTime |
날짜/시간 | 작업이 가장 최근에 실행을 멈춘 후 다시 대기열에 들어간 시간입니다. 만약 과제가 시작되지 않았다면, 이 필드는 생략될 수 있습니다. |
exitCode |
Int32 | 배치가 보고할 작업 중 가장 최근 작업 실행 종료 코드입니다. 그렇지 않으면 이 필드는 생략됩니다. |
retryCount |
Int32 | Batch 서비스에서 작업을 다시 시도한 횟수입니다. 작업이 종료 코드가 0이 아니면 지정된 최대 작업 재시도 횟수 내에서 재시도됩니다. |
requeueCount |
Int32 | 배치 서비스가 작업을 다시 대기열에 넣은 횟수입니다. 현재 방출된 페이로드에서 이 필드는 해당 작업에 대한 서비스의 현재 재큐 카운터를 반영합니다. |
result |
String | 작업 가능한 경우 서비스 정의 결과 문자열입니다. |
schedulingError |
복합 형식 | 보고된 오류에 대한 상세한 정보가 있다면, 해당 정보가 있습니다. |
schedulingError
| 요소 이름 | 유형 | Notes |
|---|---|---|
category |
String | 예를 들어 UserError오류 범주 . |
code |
String | 예를 BadCommandType들어 오류 코드 . |
message |
String | 오류 메시지입니다. |
details |
배열 | 오류에 대한 더 자세한 정보를 제공하는 이름-값 쌍 목록입니다. 추가 세부 정보가 없으면 배열은 비어 있습니다. |
details
| 요소 이름 | 유형 | Notes |
|---|---|---|
name |
String | 세부 이름. |
value |
String | 세부 사항의 가치. |