작업은 전체 기간 동안 일련의 State
변경을 거칩니다.
일회성 작업 상태
one-time
작업 요청의 경우 작업이 ENQUEUED
상태에서 시작됩니다.
ENQUEUED
상태에서 작업은 Constraints
및 초기 지연 타이밍 요구사항이 충족되는 즉시 실행될 수 있습니다. 여기에서 작업은 RUNNING
상태로 이동하고 작업 결과에 따라 SUCCEEDED
, FAILED
또는 결과가 retry
라면 다시 ENQUEUED
로 이동할 수 있습니다. 프로세스의 어떤 시점에서든 작업을 취소할 수 있고 작업은 취소 시점에서 CANCELLED
상태로 이동합니다.
그림 1은 작업을 다른 상태로 이동할 수 있는 이벤트가 포함된 일회성 작업의 수명 주기를 보여줍니다.
그림 1. 일회성 작업의 상태 다이어그램입니다.
SUCCEEDED
, FAILED
, CANCELLED
는 모두 작업의 최종 상태를 나타냅니다. 작업이 이러한 상태에 있다면 WorkInfo.State.isFinished()
가 true를 반환합니다.
주기적 작업 상태
성공 및 실패 상태는 일회성 및 체이닝된 작업에만 적용됩니다.
주기적 작업의 경우 최종 상태는 CANCELLED
하나만 있습니다. 주기적 작업은 종료되지 않기 때문입니다. 실행할 때��다 결과와 관계없이 작업이 다시 예약됩니다. 그림 2는 주기적 작업의 ���태 다이어그램��� ���������� 보여줍니다.
그림 2. 주기적 작업의 상태 다이어그램입니다.
차단된 상태
아직 언급하지는 않았지만, 마지막으로 소개하는 최종 상태는 BLOCKED
입니다. 이 상태는 일련의 작업 또는 작업 체인에서 조정된 작업에 적용됩니다. 작업 체인과 작업 체인의 상태 다이어그램은 작업 체이닝에서 다룹니다.
다음 단계
작업 관리에서는 작업 진행 상황을 관리하고 모니터링하는 방법을 자세히 알아봅니다.