기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
작업 템플릿에 작업 청킹 추가
다음 절차는 작업당 하나의 프레임을 렌더링하는 작업 템플릿을 프레임 청크를 렌더링하는 작업 템플릿으로 변환합니다. 청킹에 대한 배경과 청크 크기를 선택하는 방법은 단원을 참조하십시오작업 템플릿에 대한 작업 청킹.
시작하려면 다음이 필요합니다.
-
프레임 작업 파라미터를 정의하는 작업 템플릿이 포함된 작업 번들입니다. 자세한 내용은 작업 번들에 대한 작업 템플릿 요소 단원을 참조하십시오.
-
청킹을 지원하는 플릿과 연결된 대기열입니다. 서비스 관리형 플릿은 항상 호환되는 작업자 에이전트를 실행합니다. 고객 관리형 플릿에는 작업자 에이전트 버전 0.28.21 이상이 필요합니다.
작업 템플릿에 작업 청킹을 추가하려면
-
template.yaml파일 상단에TASK_CHUNKING확장명을 추가합니다.specificationVersion: 'jobtemplate-2023-09' extensions: - TASK_CHUNKING이 단계를 건너뛰면 작업 생성이 실패하고 오류가 발생합니다.
The CHUNK[INT] task parameter requires the TASK_CHUNKING extension. -
단계의에서 프레임 작업 파라미터 유형을에서
INT로parameterSpace변경CHUNK[INT]하고chunks속성을 추가합니다.taskParameterDefinitions: - name: Frame type: CHUNK[INT] range: "{{Param.Frames}}" chunks: defaultTaskCount: 10 rangeConstraint: CONTIGUOUS사용 가능한 모든 필드는 섹션을 참조하세요CHUNK[INT] 작업 파라미터 참조.
-
단일 프레임 대신 프레임 범위를 허용하도록 단계의 스크립트를 업데이트합니다.
rangeConstraint: CONTIGUOUS를 사용하면{{Task.Param.Frame}}변수가 항상start-end형식의 범위로 확장되므로 스크립트는cut명령을 사용하여 변수를 분할할 수 있습니다.START_FRAME="$(echo '{{Task.Param.Frame}}' | cut -d- -f1)" END_FRAME="$(echo '{{Task.Param.Frame}}' | cut -d- -f2)"rangeConstraint: NONCONTIGUOUS를 사용하면 변수가와 같은 임의의 범위 표현식으로 확장됩니다1-3,5,7-20:2. 표현식을 애플리케이션이 허용하는 구문으로 변환합니다. 작업 변환은 GitHub의 작업 청킹 샘플을참조하세요. -
Deadline Cloud CLI를 사용하여 작업 번들을 제출합니다.
deadline bundle submitmy-job-bundle -
청킹이 적용되고 있는지 확인하려면 Deadline Cloud 모니터에서 작업을 열고 단계의 작업 목록을 확인합니다. 각 작업은 청크 하나를 나타내며 단일 프레임 번호
1-10대신와 같은 프레임 범위를 표시합니다.
다음 전체 작업 템플릿은 Blender 애니메이션을 10프레임 청크로 렌더링합니다.
specificationVersion: 'jobtemplate-2023-09' extensions: - TASK_CHUNKING name: Blender Render with Contiguous Chunking parameterDefinitions: - name: BlenderSceneFile type: PATH objectType: FILE dataFlow: IN - name: Frames type: STRING default: "1-100" - name: OutputDir type: PATH objectType: DIRECTORY dataFlow: OUT default: "./output" steps: - name: RenderBlender parameterSpace: taskParameterDefinitions: - name: Frame type: CHUNK[INT] range: "{{Param.Frames}}" chunks: defaultTaskCount: 10 rangeConstraint: CONTIGUOUS script: actions: onRun: command: bash args: ["{{Task.File.Run}}"] embeddedFiles: - name: Run type: TEXT data: | set -xeuo pipefail mkdir -p '{{Param.OutputDir}}' # Parse the chunk range (e.g., "1-10") into start and end frames START_FRAME="$(echo '{{Task.Param.Frame}}' | cut -d- -f1)" END_FRAME="$(echo '{{Task.Param.Frame}}' | cut -d- -f2)" blender --background '{{Param.BlenderSceneFile}}' \ --render-output '{{Param.OutputDir}}/output_####' \ --render-format PNG \ --use-extension 1 \ -s "$START_FRAME" \ -e "$END_FRAME" \ --render-anim
이 예제에서 Deadline Cloud는 100프레임을 1-10 및와 같은 청크로 나누11-20고 각 태스크는 단일 Blender 호출로 청크를 렌더링합니다.
자세한 내용은 다음 항목을 참조하세요.
-
Deadline Cloud에서 작업 청킹을 사용하여 프레임을 청크로 그룹화 - 비연속 변형Ready-to-submit 수 있는 청킹 샘플입니다.
-
Deadline Cloud에 작업을 제출하는 방법 - 대기열에 작업 번들을 제출합니다.