Suddivisione delle attività per i modelli di lavoro - Deadline Cloud

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Suddivisione delle attività per i modelli di lavoro

La suddivisione in blocchi delle attività consente di raggruppare più attività in un'unica unità di lavoro denominata chunk. In un lavoro di rendering, ad esempio, ciò significa che Deadline Cloud può inviare più frame insieme anziché un frame per chiamata di comando. Ciò riduce il sovraccarico di avvio delle applicazioni per ogni attività e riduce la durata totale del lavoro. Per i dettagli, consulta Esecuzione di più frame alla volta nel wiki di OpenJD.

OpenJD supporta estensioni che aggiungono funzionalità opzionali ai modelli di lavoro. La suddivisione in blocchi delle attività viene abilitata aggiungendo l'estensione. TASK_CHUNKING Per utilizzare la suddivisione in blocchi, aggiungi l'estensione al tuo modello di lavoro e utilizza il tipo di parametro dell'CHUNK[INT]attività. Invia lavori suddivisi in blocchi utilizzando lo stesso comando. deadline bundle submit Ad esempio, il seguente modello di lavoro esegue il rendering dei frame in blocchi di 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

In questo esempio, Deadline Cloud divide i 100 frame in blocchi come, e così via. 1-10 11-20 La {{Task.Param.Frame}} variabile si espande in un'espressione di intervallo come. 1-10 Poiché rangeConstraint è impostato suCONTIGUOUS, l'intervallo è sempre in start-end formato. Lo script analizza questo intervallo e passa i frame iniziale e finale a Blender usando le -e opzioni -s e with. --render-anim

La chunks proprietà supporta i seguenti campi:

  • defaultTaskCount— (Obbligatorio) Quante attività combinare in un unico blocco. Il valore massimo è 150.

  • rangeConstraint— (Obbligatorio) SeCONTIGUOUS, un blocco è sempre un intervallo contiguo come. 1-10 SeNONCONTIGUOUS, un blocco può essere un insieme arbitrario, ad esempio. 1,3,7-10

  • targetRuntimeSeconds— (Facoltativo) Il tempo di esecuzione previsto in secondi per ogni blocco. Deadline Cloud può regolare dinamicamente la dimensione dei blocchi per avvicinarsi a questo obiettivo una volta completati alcuni blocchi.

Per altri esempi di suddivisione in blocchi delle attività, inclusi esempi di base e di Blender con blocchi contigui e non contigui, consulta gli esempi di suddivisione in blocchi delle attività nell'archivio degli esempi di Deadline Cloud su. GitHub

Requisiti della flotta gestita dal cliente

La suddivisione delle attività richiede una versione di Worker Agent compatibile. Se utilizzi flotte gestite dai clienti, assicurati che i tuoi worker agent siano aggiornati prima di inviare lavori con chunking. Le flotte gestite dai servizi utilizzano sempre una versione di Worker Agent compatibile.

Scaricamento dell'output per lavori suddivisi in blocchi

Quando scarichi l'output per una singola attività in un lavoro suddiviso in blocchi, Deadline Cloud scarica l'output per l'intero blocco. Ad esempio, se i frame 1-10 sono stati elaborati insieme, il download dell'output per il frame 3 include tutti i frame 1-10. Questa funzionalità richiede la deadline-cloud versione 0.53.3 o successiva.