BatchJobReleaseTask interface
작업이 실행된 컴퓨팅 노드에서 작업 완료 시 실행할 작업 릴리스 작업입니다. 작업 해제 작업은 다음 중 하나로 인해 작업이 종료될 때 실행됩니다. 사용자가 작업 종료 API를 호출하거나, 작업이 활성 상태인 동안 작업 삭제 API를 호출하고, 작업의 최대 벽시계 시간 제약 조건에 도달하고, 작업이 여전히 활성 상태이거나, 작업의 작업 관리자 태스크가 완료되고, 작업 관리자가 완료되면 작업이 종료되도록 구성됩니다. 작업 릴리스 태스크는 작업 태스크가 실행되고 작업 준비 태스크가 실행되고 완료된 각 노드에서 실행됩니다. 작업 준비 태스크를 실행한 후 노드를 이미지로 다시 설치하고 해당 노드에서 실행 중인 작업의 추가 작업 없이 작업이 종료되는 경우(따라서 작업 준비 태스크가 다시 실행되지 않음) 작업 릴리스 태스크는 해당 컴퓨팅 노드에서 실행되지 않습니다. 작업 릴리스 태스크가 계속 실행되는 동안 노드가 다시 부팅되면 컴퓨팅 노드가 시작될 때 작업 릴리스 태스크가 다시 실행됩니다. 모든 작업 릴리스 작업이 완료될 때까지 작업이 완료된 것으로 표시되지 않습니다. 작업 해제 태스크는 백그라운드에서 실행됩니다. 일정 슬롯을 차지하지 않습니다. 즉, 풀에 지정된 taskSlotsPerNode 제한에 포함되지 않습니다.
속성
| command |
Job Release Task의 명령줄입니다. 명령줄은 셸에서 실행되지 않으므로 환경 변수 확장과 같은 셸 기능을 활용할 수 없습니다. 이런 기능을 활용하고 싶다면, 명령줄에서 셸을 호출해야 합니다. 예를 들어 Windows에서는 "cmd /c MyCommand"를, Linux에서는 "/bin/sh -c MyCommand"를 사용하는 식입니다. 명령줄이 파일 경로를 참조하는 경우 상대 경로(작업 작업 디렉터리를 기준으로)를 사용하거나 Batch 제공 환경 변수(https://dotnet.territoriali.olinfo.it/azure/batch/batch-compute-node-environment-variables)를 사용해야 합니다. |
| container |
작업 해제 작업이 실행되는 컨테이너 설정입니다. 이 명령이 명시되면, 노드 내 Azure Batch 디렉터리의 루트인 AZ_BATCH_NODE_ROOT_DIR 아래에 있는 모든 디렉터리가 재귀적으로 컨테이너에 매핑되고, 모든 작업 환경 변수가 컨테이너에 매핑되며, 작업 명령줄이 컨테이너에서 실행됩니다. AZ_BATCH_NODE_ROOT_DIR 외부에서 생성된 컨테이너 파일은 호스트 디스크에 반영되지 않을 수 있어, 배치 파일 API가 해당 파일에 접근할 수 없습니다. |
| environment |
작업 해제 작업을 위한 환경 변수 설정 목록입니다. |
| id | 작업 내 작업 해제 작업을 고유하게 식별하는 문자열입니다. ID는 하이픈과 밑줄을 포함한 모든 영숫자 문자 조합을 포함할 수 있으며 64자를 초과할 수 없습니다. 이 속성을 지정하지 않으면, 배치 서비스는 기본 값을 'jobrelease'로 할당합니다. 작업 내 다른 어떤 작업도 작업 해제 작업과 동일한 ID를 가질 수 없습니다. 동일한 ID로 작업을 제출하려 하면 배치 서비스가 TaskIdSameAsJobReleaseTask 오류 코드와 함께 요청을 거부합니다; REST API를 직접 호출할 경우 HTTP 상태 코드는 409(충돌)입니다. |
| max |
작업 시작 시점부터 측정한 작업 해제 작업이 특정 컴퓨트 노드에서 실행될 수 있는 최대 경과 시간입니다. 작업이 시간 내에 완료되지 않으면 배치 서비스가 종료합니다. 기본값은 15분입니다. 타임아웃을 15분 이상 지정할 수 없습니다. 만약 그렇게 하면, 배치 서비스가 오류를 표시하며 거부합니다; REST API를 직접 호출할 경우 HTTP 상태 코드는 400(Bad Request)입니다. 시간 시간은 ISO 8601 형식으로 명시되어 있습니다. |
| resource |
명령줄을 실행하기 전에 Batch 서비스가 컴퓨팅 노드에 다운로드할 파일 목록입니다. 리소스 파일 목록에 대한 최대 크기가 있습니다. 최대 크기를 초과하면 요청이 실패하고 응답 오류 코드는 RequestEntityTooLarge가 됩니다. 이 경우 ResourceFiles 컬렉션의 크기를 줄여야 합니다. 이 작업은 .zip 파일, 애플리케이션 패키지 또는 Docker 컨테이너를 사용하여 수행할 수 있습니다. 이 요소 아래에 나열된 파일은 Task의 작업 디렉터리에 있습니다. |
| retention |
컴퓨트 노드에서 작업 해제 작업의 작업 디렉터리를 최소 유지하는 시간입니다. 이 시간 이후에는 배치 서비스가 작업 디렉터리와 그 모든 내용을 삭제할 수 있습니다. 기본값은 7일로, Compute Node가 제거되거나 작업이 삭제되지 않는 한 작업 디렉터리는 7일간 유지됩니다. 시간 시간은 ISO 8601 형식으로 명시되어 있습니다. |
| user |
작업 해제 작업이 실행되는 사용자 식별 정보입니다. 만약 이 옵션을 누락할 경우, 해당 작업은 해당 작업에 고유한 비관리자 사용자로 실행됩니다. |
속성 세부 정보
commandLine
Job Release Task의 명령줄입니다. 명령줄은 셸에서 실행되지 않으므로 환경 변수 확장과 같은 셸 기능을 활용할 수 없습니다. 이런 기능을 활용하고 싶다면, 명령줄에서 셸을 호출해야 합니다. 예를 들어 Windows에서는 "cmd /c MyCommand"를, Linux에서는 "/bin/sh -c MyCommand"를 사용하는 식입니다. 명령줄이 파일 경로를 참조하는 경우 상대 경로(작업 작업 디렉터리를 기준으로)를 사용하거나 Batch 제공 환경 변수(https://dotnet.territoriali.olinfo.it/azure/batch/batch-compute-node-environment-variables)를 사용해야 합니다.
commandLine: string
속성 값
string
containerSettings
작업 해제 작업이 실행되는 컨테이너 설정입니다. 이 명령이 명시되면, 노드 내 Azure Batch 디렉터리의 루트인 AZ_BATCH_NODE_ROOT_DIR 아래에 있는 모든 디렉터리가 재귀적으로 컨테이너에 매핑되고, 모든 작업 환경 변수가 컨테이너에 매핑되며, 작업 명령줄이 컨테이너에서 실행됩니다. AZ_BATCH_NODE_ROOT_DIR 외부에서 생성된 컨테이너 파일은 호스트 디스크에 반영되지 않을 수 있어, 배치 파일 API가 해당 파일에 접근할 수 없습니다.
containerSettings?: BatchTaskContainerSettings
속성 값
environmentSettings
id
작업 내 작업 해제 작업을 고유하게 식별하는 문자열입니다. ID는 하이픈과 밑줄을 포함한 모든 영숫자 문자 조합을 포함할 수 있으며 64자를 초과할 수 없습니다. 이 속성을 지정하지 않으면, 배치 서비스는 기본 값을 'jobrelease'로 할당합니다. 작업 내 다른 어떤 작업도 작업 해제 작업과 동일한 ID를 가질 수 없습니다. 동일한 ID로 작업을 제출하려 하면 배치 서비스가 TaskIdSameAsJobReleaseTask 오류 코드와 함께 요청을 거부합니다; REST API를 직접 호출할 경우 HTTP 상태 코드는 409(충돌)입니다.
id?: string
속성 값
string
maxWallClockTime
작업 시작 시점부터 측정한 작업 해제 작업이 특정 컴퓨트 노드에서 실행될 수 있는 최대 경과 시간입니다. 작업이 시간 내에 완료되지 않으면 배치 서비스가 종료합니다. 기본값은 15분입니다. 타임아웃을 15분 이상 지정할 수 없습니다. 만약 그렇게 하면, 배치 서비스가 오류를 표시하며 거부합니다; REST API를 직접 호출할 경우 HTTP 상태 코드는 400(Bad Request)입니다. 시간 시간은 ISO 8601 형식으로 명시되어 있습니다.
maxWallClockTime?: string
속성 값
string
resourceFiles
명령줄을 실행하기 전에 Batch 서비스가 컴퓨팅 노드에 다운로드할 파일 목록입니다. 리소스 파일 목록에 대한 최대 크기가 있습니다. 최대 크기를 초과하면 요청이 실패하고 응답 오류 코드는 RequestEntityTooLarge가 됩니다. 이 경우 ResourceFiles 컬렉션의 크기를 줄여야 합니다. 이 작업은 .zip 파일, 애플리케이션 패키지 또는 Docker 컨테이너를 사용하여 수행할 수 있습니다. 이 요소 아래에 나열된 파일은 Task의 작업 디렉터리에 있습니다.
resourceFiles?: ResourceFile[]
속성 값
retentionTime
컴퓨트 노드에서 작업 해제 작업의 작업 디렉터리를 최소 유지하는 시간입니다. 이 시간 이후에는 배치 서비스가 작업 디렉터리와 그 모든 내용을 삭제할 수 있습니다. 기본값은 7일로, Compute Node가 제거되거나 작업이 삭제되지 않는 한 작업 디렉터리는 7일간 유지됩니다. 시간 시간은 ISO 8601 형식으로 명시되어 있습니다.
retentionTime?: string
속성 값
string
userIdentity
작업 해제 작업이 실행되는 사용자 식별 정보입니다. 만약 이 옵션을 누락할 경우, 해당 작업은 해당 작업에 고유한 비관리자 사용자로 실행됩니다.
userIdentity?: UserIdentity