

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Aufgabenteilung für Jobvorlagen
<a name="build-job-bundle-chunking"></a>

Durch Aufgaben-Chunking können Sie mehrere Aufgaben zu einer einzigen Arbeitseinheit zusammenfassen, die als Chunk bezeichnet wird. In einem Renderjob bedeutet dies beispielsweise, dass Deadline Cloud mehrere Frames zusammen versenden kann, anstatt einen Frame pro Befehlsaufruf. Dies reduziert den Aufwand beim Starten von Anwendungen für jede Aufgabe und verkürzt die Gesamtlaufzeit des Jobs. Einzelheiten finden Sie unter [Mehrere Frames gleichzeitig ausführen](https://github.com/OpenJobDescription/openjd-specifications/wiki/Job-Intro-03-Creating-a-Job-Template#42-running-multiple-frames-at-a-time) im OpenJD-Wiki.

OpenJD unterstützt Erweiterungen, die Jobvorlagen um optionale Funktionen erweitern. Das Aufteilen von Aufgaben wird durch Hinzufügen der Erweiterung aktiviert. `TASK_CHUNKING` Um Chunking zu verwenden, fügen Sie die Erweiterung zu Ihrer Jobvorlage hinzu und verwenden Sie den `CHUNK[INT]` Task-Parametertyp. Senden Sie Jobs in Einzelteilen mit demselben Befehl. `deadline bundle submit` Die folgende Jobvorlage rendert beispielsweise Frames in Blöcken von 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 diesem Beispiel unterteilt Deadline Cloud die 100 Frames in Blöcke wie`1-10`, usw. `11-20` Die `{{Task.Param.Frame}}` Variable wird zu einem Bereichsausdruck wie erweitert. `1-10` Da auf gesetzt `rangeConstraint` ist`CONTIGUOUS`, ist der Bereich immer `start-end` formatiert. Das Skript analysiert diesen Bereich und übergibt die Start- und Endframes mithilfe der `-e` Optionen `-s` und mit `--render-anim` an Blender.

Die `chunks` Eigenschaft unterstützt die folgenden Felder:
+ `defaultTaskCount`— (Erforderlich) Wie viele Aufgaben zu einem einzigen Block zusammengefasst werden sollen. Der Höchstwert ist 150.
+ `rangeConstraint`— (Erforderlich) Wenn`CONTIGUOUS`, ist ein Chunk immer ein zusammenhängender Bereich wie. `1-10` Wenn`NONCONTIGUOUS`, kann ein Chunk eine beliebige Menge sein wie. `1,3,7-10`
+ `targetRuntimeSeconds`— (Optional) Die Ziellaufzeit in Sekunden für jeden Chunk. Deadline Cloud kann die Chunk-Größe dynamisch anpassen, um sich diesem Ziel zu nähern, sobald einige Chunks abgeschlossen sind.

[Weitere Beispiele für das Chunking von Aufgaben, darunter einfache Beispiele und Blender-Beispiele mit zusammenhängenden und nicht zusammenhängenden Chunks, finden Sie in den Beispielen zum Aufgaben-Chunking im Deadline Cloud-Beispiel-Repository unter.](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/job_bundles/task_chunking) GitHub

**Vom Kunden verwaltete Flottenanforderungen**  
Für das Aufteilen von Aufgaben ist eine kompatible Worker-Agent-Version erforderlich. Wenn Sie vom Kunden verwaltete Flotten verwenden, stellen Sie sicher, dass Ihre Worker Agents auf dem neuesten Stand sind, bevor Sie Jobs mit Chunking weiterleiten. Vom Service verwaltete Flotten verwenden immer eine kompatible Worker-Agent-Version.

**Die Ausgabe für Einzelaufträge wird heruntergeladen**  
Wenn Sie die Ausgabe für eine einzelne Aufgabe in einem aufgeteilten Job herunterladen, lädt Deadline Cloud die Ausgabe für den gesamten Block herunter. Wenn beispielsweise die Frames 1—10 zusammen verarbeitet wurden, umfasst das Herunterladen der Ausgabe für Frame 3 alle Frames 1—10. Für diese Funktion ist `deadline-cloud` Version 0.53.3 oder höher erforderlich.