View a markdown version of this page

Elemente der Jobvorlage für Jobpakete - Deadline Cloud

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.

Elemente der Jobvorlage für Jobpakete

Die Jobvorlage definiert die Laufzeitumgebung und die Prozesse, die als Teil eines Deadline Cloud-Jobs ausgeführt werden. Sie können Parameter in einer Vorlage erstellen, sodass sie zum Erstellen von Jobs verwendet werden kann, die sich nur in den Eingabewerten unterscheiden, ähnlich wie bei einer Funktion in einer Programmiersprache.

Wenn Sie einen Job an Deadline Cloud senden, wird er in allen Warteschlangenumgebungen ausgeführt, die auf die Warteschlange angewendet werden. Warteschlangenumgebungen werden unter Verwendung der Spezifikation für externe Umgebungen von Open Job Description (OpenJD) erstellt. Einzelheiten finden Sie in der Environment-Vorlage im OpenJD-Repository GitHub .

Eine Einführung zum Erstellen eines Jobs mit einer OpenJD-Jobvorlage finden Sie unter Einführung in die Erstellung eines Jobs im GitHub OpenJD-Repository. Weitere Informationen finden Sie unter So werden Jobs ausgeführt. Es gibt Beispiele für Jobvorlagen im samples Verzeichnis des GitHub OpenJD-Repositorys.

Sie können die Jobvorlage entweder im YAML-Format (template.yaml) oder im JSON-Format (template.json) definieren. Die Beispiele in diesem Abschnitt werden im YAML-Format angezeigt.

Die Jobvorlage für das blender_render Beispiel definiert beispielsweise einen Eingabeparameter BlenderSceneFile als Dateipfad:

- name: BlenderSceneFile type: PATH objectType: FILE dataFlow: IN userInterface: control: CHOOSE_INPUT_FILE label: Blender Scene File groupLabel: Render Parameters fileFilters: - label: Blender Scene Files patterns: ["*.blend"] - label: All Files patterns: ["*"] description: > Choose the Blender scene file to render. Use the 'Job Attachments' tab to add textures and other files that the job needs.

Die userInterface Eigenschaft definiert das Verhalten automatisch generierter Benutzeroberflächen sowohl für die Befehlszeile, die den Befehl verwendet, als auch innerhalb der Plug-ins für die Auftragsübermittlung für Anwendungen wie Autodesk Maya. deadline bundle gui-submit

Der gui-submit Befehl öffnet ein Dialogfeld zur Einreichung von Aufgaben mit einer Registerkarte „Gemeinsame Auftragseinstellungen“ für den Namen, die Priorität und die Zielwarteschlange des Auftrags sowie einer Registerkarte „Job-specific Einstellungen“, die anhand der Parameterdefinitionen in der Auftragsvorlage generiert wurde.

Das Dialogfeld zur Auftragsübermittlung mit der Registerkarte Gemeinsame Auftragseinstellungen mit den Feldern Jobname, Priorität sowie Farm- und Warteschlangenfeldern.

In diesem Beispiel ist das UI-Widget zur Eingabe eines Werts für den BlenderSceneFile Parameter ein Dialogfeld zur Dateiauswahl, in dem nur Dateien angezeigt werden. .blend

Ein Benutzeroberflächen-Widget zur Eingabe des Szenedateiparameters für eine OpenJD-Jobvorlage.

Weitere Beispiele für die Verwendung des userInteface Elements finden Sie im Beispiel gui_control_showcase im Deadline-Cloud-Samples-Repository unter. https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline GitHub

Die dataFlow Eigenschaften objectType und steuern das Verhalten von Auftragsanhängen, wenn Sie einen Job aus einem Job-Paket einreichen. In diesem Fall dataFlow:IN bedeuten objectType: FILE und bedeuten, dass der Wert von eine Eingabedatei für Jobanhänge BlenderSceneFile ist.

Im Gegensatz dazu hat die Definition des OutputDir Parameters objectType: DIRECTORY unddataFlow: OUT:

- name: OutputDir type: PATH objectType: DIRECTORY dataFlow: OUT userInterface: control: CHOOSE_DIRECTORY label: Output Directory groupLabel: Render Parameters default: "./output" description: Choose the render output directory.

Der Wert des OutputDir Parameters wird von Auftragsanhängen als das Verzeichnis verwendet, in das der Job Ausgabedateien schreibt.

Wenn Sie das Paket einreichen, werden auf der Registerkarte „Auftragsanhänge“ des Übermittlungsdialogs die Eingabedateien und Verzeichnisse aufgeführt, die anhand dieser Eigenschaften erkannt wurden, zusammen mit den Ausgabeverzeichnissen, in die der Job schreibt. Kursiv dargestellte Pfade wurden automatisch erkannt. Sie können weitere hinzufügen, die der Absender nicht gefunden hat.

Die Registerkarte „Auftragsanhänge“ eines Einreichungsdialogs, in der die erkannten Eingabedateien, Eingabeverzeichnisse und das Ausgabeverzeichnis aufgeführt sind.

Weitere Informationen zu den dataFlow Eigenschaften objectType und den Eigenschaften finden Sie JobPathParameterDefinition in der Open Job Description -Spezifikation

Der Rest des Beispiels für die blender_render Auftragsvorlage definiert den Arbeitsablauf des Jobs als einen einzelnen Schritt, bei dem jedes Bild in der Animation als separate Aufgabe gerendert wird:

steps: - name: RenderBlender parameterSpace: taskParameterDefinitions: - name: Frame type: INT range: "{{Param.Frames}}" script: actions: onRun: command: bash # Note: {{Task.File.Run}} is a variable that expands to the filename on the worker host's # disk where the contents of the 'Run' embedded file, below, is written. args: ['{{Task.File.Run}}'] embeddedFiles: - name: Run type: TEXT data: | # Configure the task to fail if any individual command fails. set -xeuo pipefail mkdir -p '{{Param.OutputDir}}' blender --background '{{Param.BlenderSceneFile}}' \ --render-output '{{Param.OutputDir}}/{{Param.OutputPattern}}' \ --render-format {{Param.Format}} \ --use-extension 1 \ --render-frame {{Task.Param.Frame}}

Wenn der Wert des Frames Parameters beispielsweise lautet1-10, definiert er 10 Aufgaben. Jede Aufgabenaufgabe hat einen anderen Wert für den Frame Parameter. Um eine Aufgabe auszuführen:

  1. Beispielsweise werden alle Variablenverweise in der data Eigenschaft der eingebetteten Datei erweitert--render-frame 1.

  2. Der Inhalt der data Eigenschaft wird in eine Datei im Arbeitsverzeichnis der Sitzung auf der Festplatte geschrieben.

  3. Der onRun Befehl der Aufgabe wird in aufgelöst bash location of embedded file und dann ausgeführt.

Weitere Informationen zu eingebetteten Dateien, Sitzungen und Pfadzuordnungen finden Sie in der Open Job Description -Spezifikation unter So werden Jobs ausgeführt.

Weitere Beispiele für Jobvorlagen finden Sie im samples/job_bundles Deadline-Cloud-Repository sowie die Vorlagenbeispiele, die in der Spezifikation Open Job Descriptions enthalten sind.