

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
<a name="build-job-bundle-chunking"></a>

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](https://github.com/OpenJobDescription/openjd-specifications/wiki/Job-Intro-03-Creating-a-Job-Template#42-running-multiple-frames-at-a-time) 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 su`CONTIGUOUS`, 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) Se`CONTIGUOUS`, un blocco è sempre un intervallo contiguo come. `1-10` Se`NONCONTIGUOUS`, 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.](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/job_bundles/task_chunking) 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.