Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menambahkan pemotongan tugas ke template pekerjaan
Prosedur berikut mengubah template pekerjaan yang merender satu bingkai per tugas menjadi satu yang merender potongan bingkai. Untuk latar belakang potongan dan cara memilih ukuran potongan, lihat. Pemotongan tugas untuk templat pekerjaan
Sebelum memulai, Anda perlu melakukan hal berikut:
-
Bundel pekerjaan dengan template pekerjaan yang mendefinisikan parameter tugas bingkai. Untuk informasi selengkapnya, lihat Elemen template pekerjaan untuk bundel pekerjaan.
-
Antrian yang terkait dengan armada yang mendukung chunking. Service-managed armada selalu menjalankan agen pekerja yang kompatibel. Customer-managed armada memerlukan agen pekerja versi 0.28.21 atau yang lebih baru pada pekerja.
Untuk menambahkan pemotongan tugas ke template pekerjaan
-
Tambahkan
TASK_CHUNKINGekstensi ke bagian atastemplate.yamlfile Anda:specificationVersion: 'jobtemplate-2023-09' extensions: - TASK_CHUNKINGJika Anda melewatkan langkah ini, penciptaan pekerjaan gagal dengan kesalahan
The CHUNK[INT] task parameter requires the TASK_CHUNKING extension. -
Di langkah tersebut
parameterSpace, ubah jenis parameter tugas bingkai dariINTkeCHUNK[INT]dan tambahkanchunksproperti:taskParameterDefinitions: - name: Frame type: CHUNK[INT] range: "{{Param.Frames}}" chunks: defaultTaskCount: 10 rangeConstraint: CONTIGUOUSUntuk semua bidang yang tersedia, lihatReferensi parameter tugas CHUNK [INT].
-
Perbarui skrip langkah untuk menerima rentang bingkai alih-alih satu bingkai. Dengan
rangeConstraint: CONTIGUOUS,{{Task.Param.Frame}}variabel selalu meluas ke rentang dalamstart-endformat, sehingga skrip dapat membaginya dengancutperintah:START_FRAME="$(echo '{{Task.Param.Frame}}' | cut -d- -f1)" END_FRAME="$(echo '{{Task.Param.Frame}}' | cut -d- -f2)"Dengan
rangeConstraint: NONCONTIGUOUS, variabel meluas ke ekspresi rentang arbitrer seperti1-3,5,7-20:2. Ubah ekspresi menjadi sintaks yang diterima aplikasi Anda. Untuk transformasi yang berfungsi, lihat contoh pemotongan tugaspada GitHub. -
Kirim bundel pekerjaan dengan Deadline Cloud CLI:
deadline bundle submitmy-job-bundle -
Untuk memverifikasi bahwa chunking berlaku, buka pekerjaan di monitor Deadline Cloud dan lihat daftar tugas langkah tersebut. Setiap tugas mewakili satu potongan dan menunjukkan rentang bingkai seperti al
1-10ih-alih nomor bingkai tunggal.
Template pekerjaan lengkap berikut ini merender animasi Blender dalam potongan 10 frame:
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
Dalam contoh ini, Deadline Cloud membagi 100 frame menjadi potongan-potongan seperti 1-10 dan11-20, dan setiap tugas merender bagiannya dengan satu pemanggilan Blender.
Untuk informasi selengkapnya, lihat topik berikut:
-
Kelompokkan bingkai menjadi potongan-potongan dengan pemotongan tugas di Deadline Cloud— sampel Ready-to-submit pemotongan, termasuk varian yang tidak bersebelahan.
-
Cara mengirimkan pekerjaan ke Deadline Cloud— Kirim bundel pekerjaan ke antrian Anda.