기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
HealthOmics 실행의 작업 수명 주기
작업은 실행 내의 단일 프로세스입니다. HealthOmics는 워크플로의 각 작업을 작업의 필수 리소스에 가장 적합한 omics 컴퓨팅 인스턴스 유형에 매핑합니다. 워크플로 정의에서 필요한 리소스를 지정합니다. 자세한 내용은 단원을 참조하십시오HealthOmics 작업에 대한 컴퓨팅 및 메모리 요구 사항.
HealthOmics는 작업에서 사용할 임시 실행 스토리지를 제공합니다. HealthOmics는 작업 입력 파일을 임시 실행 스토리지에 읽기 전용 파일로 복사합니다. HealthOmics는 태스크가 작업 디렉터리의 입력 파일에 액세스할 수 있도록 심볼 링크를 제공합니다. 작업은 워크플로 정의 파일에서 선언한 파일에만 액세스할 수 있습니다.
작업 상태 값
작업 상태를 모니터링하여 작업 진행 상황을 추적할 수 있습니다. 실행을 시작하면 HealthOmics는 실행의 각 작업에 Pending 대해 작업 상태를 로 설정합니다. 작업이 시작되고 수명 주기 동안 진행되면 HealthOmics는 현재 진행 상황을 반영하도록 상태 값을 업데이트합니다.
다음 방법 중 하나를 사용하여 작업 상태를 검색할 수 있습니다.
HealthOmics 콘솔은 Run details 페이지에 실행 중인 각 작업의 상태를 표시합니다.
-
GetRunTask API 작업은 작업 상태를 반환합니다.
EventBridge 이벤트를 사용하여 작업 상태를 모니터링할 수 있습니다. 자세한 내용은 에서 EventBridge 사용 AWS HealthOmics 단원을 참조하십시오.
GetRunTask API 작업을 사용하여 작업의 현재 상태를 검색할 수 있습니다. HealthOmics 콘솔은 Run details 페이지에 실행 중인 각 작업의 상태를 표시합니다.
HealthOmics는 다음 작업 상태 값을 지원합니다.
- 보류중
-
작업이 대기열에 있으며 시작을 기다리고 있습니다. 작업은 시작하기 전에 잠시 보류 상태로 유지됩니다.
-
계정이 최대 동시 작업 수에 도달한 후에도 작업은 보류 상태로 유지됩니다.
-
실행이 리소스 최대값에 도달한 실행 그룹의 일부인 경우 작업은 보류 상태로 유지됩니다.
-
대기 중인 특정 실행과 해당 작업이 다른 대기 중인 실행 전에 시작되도록 실행 우선 순위를 조정할 수 있습니다. 실행 우선 순위에 대한 자세한 내용은 섹션을 참조하세요. 실행 우선 순위
-
- Starting(시작 중)
-
HealthOmics는 작업을 생성하고 워크플로 작업 노드와 같은 작업에 필요한 리소스를 프로비저닝합니다.
- 실행 중
-
HealthOmics가 작업을 처리하는 동안 작업 상태는 실행 중입니다.
- Stopping
-
작업 처리를 완료하고 출력 데이터를 내보낸 후 작업이 중지 중으로 전환됩니다.
-
HealthOmics는 워크플로 작업 노드의 프로비저닝을 해제합니다.
-
- 완료됨
-
HealthOmics는 작업 처리를 완료하고 출력 데이터를 실행 스토리지 파일 시스템으로 전송했습니다.
- Failed
-
HealthOmics에서 작업을 처리하는 동안 오류가 발생하여 완료하지 못했습니다.
-
작업은 중지 중 상태(HealthOmics가 리소스 프로비저닝 해제)로 전환된 다음 실패 상태로 전환됩니다.
-
오류가 서비스 오류(5XX HTTP 상태 코드)이고 워크플로가이 작업에 대한 재시도를 지원하는 경우 HealthOmics는 작업을 다시 처리하려고 시도합니다. HealthOmics는 재시도에 새 작업 ID를 할당합니다.
-
- 취소됨
-
HealthOmics는 사용자가 실행을 취소하도록 요청한 후 작업을 중지합니다.
-
작업은 중지 중 상태(HealthOmics가 리소스 프로비저닝 해제)로 전환된 다음 취소됨 상태로 전환됩니다.
-
워크플로 작업 문제 해결
다음은 작업 문제 해결을 위한 모범 사례 및 고려 사항입니다.
-
작업 로그는 작업에서
STDERR
생성되는STDOUT
및에 의존합니다. 작업에 사용되는 애플리케이션이 둘 중 하나를 생성하지 않으면 작업 로그가 없습니다. 디버깅을 지원하려면verbose
모드에서 애플리케이션을 사용합니다. -
작업에서 실행 중인 명령을 보간된 값과 함께 보려면
set -x
Bash 명령을 사용합니다. 이렇게 하면 작업이 올바른 입력을 사용하고 있는지 확인하고 오류로 인해 작업이 의도한 대로 실행되지 않았을 수 있는 위치를 식별할 수 있습니다. -
echo
명령을 사용하여 변수 값을STDOUT
또는에 출력합니다STDERR
. 이렇게 하면 예상대로 설정되어 있는지 확인할 수 있습니다. -
와 같은 명령을 사용하여 입력이 존재하고 예상 크기인지
ls -l
<name_of_input_file>
확인합니다. 그렇지 않으면 버그로 인해 빈 출력을 생성하는 이전 작업의 문제가 발견될 수 있습니다. -
작업 스크립트
df -Ph . | awk 'NR==2 {print $4}'
에서 명령을 사용하여 현재 작업에 사용할 수 있는 공간을 결정하고 추가 스토리지 할당으로 워크플로를 실행해야 하는 상황을 식별할 수 있습니다.
작업 스크립트에 위의 명령 중 하나를 포함하면 작업 컨테이너에도 이러한 명령이 포함되어 있고 컨테이너 환경path
의에 있다고 가정합니다.