작업 스케줄러 및 눈금 엔드포인트가 일괄처리 작업을
처리하므로 작업 상태는 작업 스케줄러 데이터베이스에서 업데이트됩니다.
다이어그램은 상태 간 관계를 표시하며 다음 표는
상태 간 전이를 트리거하는 가능한 일괄처리 작업 상태 및
이벤트를 나열합니다. 작업 관리 콘솔에서 일괄처리 작업의
현재 상태를 보거나 명령행 또는 EJB(Enterprise JavaBeans)
인터페이스를 사용하여 일괄처리 작업의 현재 상태를 검색할 수 있습니다. 일괄처리 단계가
초기화되기 전에 실패가 발생하면 일괄처리 작업은 실행 실패 상태가
됩니다. 그렇지 않은 경우 재시작 가능 상태가 됩니다.

표 1. 일괄처리 작업 상태. 표에는
각 일괄처리 시작 상태와 해당 클라이언트 명령, 시스템 조치,
특수 조건, 숫자 리턴 코드 및 종료 상태가 있습니다. 표의
셀이 비어 있는 경우 시작 상태에 대한 클라이언트 명령,
시스템 조치, 조건 또는 리턴 코드가 없음을 표시합니다. 시작 상태 |
클라이언트 명령 |
시스템 조치 |
특수 조건 |
리턴 코드 |
종료 상태 |
없음(지연 제출) |
submit |
|
|
|
제출 보류 |
없음 |
submit |
|
|
|
submitted |
submitted |
|
dispatch |
|
0 |
실행 중 |
submitted |
cancel |
|
|
0 |
재시작 가능 |
실행 중 |
중지 |
|
|
0 |
재시작 가능 |
실행 중 |
cancel |
|
|
4 |
cancel_pending |
실행 중 |
|
애플리케이션 오류 발견* |
|
4 |
재시작 가능 |
실행 중 |
|
|
인프라 문제점** |
4 |
재시작 가능/알 수 없음 |
실행 중 |
일시중단 |
|
|
4 |
suspend_pending |
실행 중 |
|
작업 완료 |
|
4 |
종료됨 |
실행 중 |
|
|
작업 설정 시 인프라 문제점*** |
4 |
재시작 가능 |
suspend_pending |
|
체크포인트 |
|
2 |
일시중단됨 |
suspend_pending |
|
|
인프라 문제점** |
2 |
재시작 가능/알 수 없음 |
일시중단됨 |
resume |
|
|
5 |
resume_pending |
일시중단됨 |
cancel |
|
|
5 |
cancel_pending |
일시중단됨 |
|
|
인프라 문제점** |
5 |
재시작 가능/알 수 없음 |
resume_pending |
|
작업이 재개됨 |
|
2 |
실행 중 |
resume_pending |
|
|
인프라 문제점** |
2 |
재시작 가능/알 수 없음 |
재시작 가능 |
restart |
|
|
8 |
submitted |
cancel_pending |
|
작업 취소 |
|
1 |
재시작 가능 |
cancel_pending |
|
|
인프라 문제점** |
1 |
재시작 가능/알 수 없음 |
재시작 가능 |
purge |
|
|
8 |
없음 |
execution_failed |
purge |
|
|
9 |
없음 |
종료됨 |
purge |
|
|
7 |
없음 |
표 2. 일괄처리 작업 상태 테이블에 대한
참고사항. 표에는 각 참고사항과 설명이 있습니다. 참고 |
설명 |
* 애플리케이션 오류 |
런타임에 일괄처리 애플리케이션이 실패했습니다. 눈금 엔드포인트에서
이 실패를 발견했습니다. |
** 인프라 문제점 |
예기치 않은 오류가 발생했습니다. 작업 설정 시 인프라
문제점은 다음 예를 참조하십시오. |
*** 작업 설정 시 인프라 문제점 |
눈금 엔드포인트에 의해 처음
일괄처리 작업이 설정될 때 발생하는 예기치 않은 오류입니다. 예를 들어,
예기치 않은 데이터베이스 장애가 있는 경우 작업은 execution_failed 상태가
됩니다. - 이 조건에서 일괄처리 작업이 처음 실행되며 단계가 아직
처리되지 않습니다. 일괄처리 작업은 대부분의 장애 조건에서
재시작 가능 상태가 되므로 장애 조건을 극복할 수 있는 경우 체크포인트가 있는
위치에서 다시 시작할 수 있습니다. 그러나 이러한 실패 조건
예에서 일괄처리 작업은 execution_failed 상태가 되고
다시 시작할 수 없습니다. 이 상황은 작업 설정 시나리오이고
일괄처리 작업에 의해 작업이 아직 처리되지 않았으므로 일괄처리 작업은
실패의 결과로 유실되지 않습니다.
- 작업이 엔드포인트에서 최종이 아닌 상태인 경우 스케줄러는 이 작업을
두 가지 조건 하에 알 수 없는 상태로 둡니다. 엔드포인트가
통신을 유실하거나 엔드포인트가 작동 중지되는 조건입니다.
엔드포인트가 다시 작동되는 경우 스케줄러는 작업 상태를 엔드포인트와
동기화합니다. 엔드포인트가 작동 중지되면 모든 일괄처리 작업은
재시작 가능 상태가 되고 모든 계산 집중 작업은 실행 실패
상태가 됩니다. 엔드포인트가 스케줄러와 통신만 유실하고
작업은 계속 실행되는 경우 스케줄러는 해당 상태를
업데이트합니다. 상태 업데이트는 해당 시점에 엔드포인트에서 실행 중인
작업의 최종 상태입니다.
|