Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Pembagian tugas untuk templat pekerjaan
Task chunking memungkinkan Anda mengelompokkan beberapa tugas ke dalam satu unit kerja yang disebut chunk. Dalam pekerjaan render, misalnya, ini berarti Deadline Cloud dapat mengirimkan beberapa frame bersama-sama, bukan satu frame per permintaan perintah. Ini mengurangi overhead aplikasi awal untuk setiap tugas dan mempersingkat total runtime pekerjaan. Untuk detailnya, lihat Menjalankan beberapa frame sekaligus
OpenJD mendukung ekstensi yang menambahkan fitur opsional ke template pekerjaan. Chunking tugas diaktifkan dengan menambahkan ekstensi. TASK_CHUNKING Untuk menggunakan chunking, tambahkan ekstensi ke template pekerjaan Anda dan gunakan tipe parameter CHUNK[INT] tugas. Kirim pekerjaan yang terpotong menggunakan perintah yang samadeadline bundle submit. Misalnya, template pekerjaan berikut merender frame dalam potongan 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
Dalam contoh ini, Deadline Cloud membagi 100 frame menjadi potongan-potongan seperti1-10,11-20, dan seterusnya. {{Task.Param.Frame}}Variabel meluas ke ekspresi rentang seperti1-10. Karena rangeConstraint diatur keCONTIGUOUS, rentang selalu dalam start-end format. Skrip mem-parsing rentang ini dan meneruskan frame awal dan akhir ke Blender menggunakan -e opsi -s dan dengan--render-anim.
chunksProperti mendukung bidang-bidang berikut:
-
defaultTaskCount— (Wajib) Berapa banyak tugas untuk digabungkan menjadi satu bagian. Nilai maksimumnya adalah 150. -
rangeConstraint— (Wajib) JikaCONTIGUOUS, potongan selalu merupakan rentang yang berdekatan seperti.1-10JikaNONCONTIGUOUS, potongan bisa menjadi set sewenang-wenang seperti.1,3,7-10 -
targetRuntimeSeconds— (Opsional) Target runtime dalam hitungan detik untuk setiap potongan. Deadline Cloud dapat secara dinamis menyesuaikan ukuran potongan untuk mendekati target ini setelah beberapa potongan selesai.
Persyaratan armada yang dikelola pelanggan
Task chunking memerlukan versi agen pekerja yang kompatibel. Jika Anda menggunakan armada yang dikelola pelanggan, pastikan agen pekerja Anda diperbarui sebelum mengirimkan pekerjaan dengan chunking. Armada yang dikelola layanan selalu menggunakan versi agen pekerja yang kompatibel.
Mengunduh output untuk pekerjaan yang terpotong
Saat Anda mengunduh output untuk satu tugas dalam pekerjaan yang dipotong, Deadline Cloud mengunduh output untuk seluruh potongan. Misalnya, jika frame 1-10 diproses bersama, mengunduh output untuk frame 3 mencakup semua frame 1-10. Fitur ini membutuhkan deadline-cloud versi 0.53.3 atau yang lebih baru.