View a markdown version of this page

Stellen Sie Bewerbungen für Ihre Jobs bereit - 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.

Stellen Sie Bewerbungen für Ihre Jobs bereit

Sie können eine Warteschlangenumgebung verwenden, um Anwendungen zur Verarbeitung Ihrer Jobs zu laden. Wenn Sie mithilfe der Deadline Cloud-Konsole eine vom Service verwaltete Flotte erstellen, haben Sie die Möglichkeit, eine Warteschlangenumgebung zu erstellen, die den Conda-Paketmanager zum Laden von Anwendungen verwendet.

Wenn Sie einen anderen Paketmanager verwenden möchten, können Sie eine Warteschlangenumgebung für diesen Manager erstellen. Ein Beispiel für die Verwendung von Rez finden Sie unterVerwenden Sie einen anderen Paketmanager.

Deadline Cloud bietet einen Conda-Kanal, über den Sie eine Auswahl von Rendering-Anwendungen in Ihre Umgebung laden können. Sie unterstützen die Einreicher, die Deadline Cloud für Anwendungen zur Erstellung digitaler Inhalte bereitstellt.

Sie können auch Software für Conda-Forge laden, um sie in Ihren Jobs zu verwenden. Die folgenden Beispiele zeigen Jobvorlagen, die die von Deadline Cloud bereitgestellte Warteschlangenumgebung verwenden, um Anwendungen vor der Ausführung des Jobs zu laden.

Eine Anwendung von einem Conda-Kanal abrufen

Sie können eine benutzerdefinierte Warteschlangenumgebung für Ihre Deadline Cloud-Mitarbeiter erstellen, die die Software Ihrer Wahl installiert. Diese Beispiel-Warteschlangenumgebung hat dasselbe Verhalten wie die Umgebung, die von der Konsole für vom Service verwaltete Flotten verwendet wird. Sie führt Conda direkt aus, um die Umgebung zu erstellen.

Die Umgebung erstellt für jede Deadline Cloud-Sitzung, die auf einem Worker ausgeführt wird, eine neue virtuelle Conda-Umgebung und löscht die Umgebung, wenn sie fertig ist.

Conda speichert die heruntergeladenen Pakete im Cache, sodass sie nicht erneut heruntergeladen werden müssen. In jeder Sitzung müssen jedoch alle Pakete mit der Umgebung verknüpft werden.

Die Umgebung definiert drei Skripte, die ausgeführt werden, wenn Deadline Cloud eine Sitzung auf einem Worker startet. Das erste Skript wird ausgeführt, wenn die onEnter Aktion aufgerufen wird. Es ruft die anderen beiden auf, um Umgebungsvariablen einzurichten. Wenn die Ausführung des Skripts abgeschlossen ist, ist die Conda-Umgebung verfügbar, in der alle angegebenen Umgebungsvariablen gesetzt sind.

Die neueste Version des Beispiels finden Sie unter conda_queue_env_console_equivalent.yaml im Deadline-Cloud-Samples-Repository unter. GitHub

Wenn Sie eine Anwendung verwenden möchten, die im Conda-Channel nicht verfügbar ist, können Sie einen Conda-Channel in Amazon S3 erstellen und dann Ihre eigenen Pakete für diese Anwendung erstellen. Weitere Informationen hierzu finden Sie unter Erstellen Sie einen Conda-Kanal mit S3.

Holen Sie sich Open-Source-Bibliotheken von Conda-Forge

In diesem Abschnitt wird beschrieben, wie Sie Open-Source-Bibliotheken aus dem conda-forge Kanal verwenden. Das folgende Beispiel ist eine Jobvorlage, die das polars Python-Paket verwendet.

Der Job legt die in der Warteschlangenumgebung definierten CondaChannels Parameter CondaPackages und fest, die Deadline Cloud mitteilen, wo das Paket abgerufen werden soll.

Der Abschnitt der Jobvorlage, der die Parameter festlegt, lautet:

- name: CondaPackages description: A list of conda packages to install. The job expects a Queue Environment to handle this. type: STRING default: polars - name: CondaChannels description: A list of conda channels to get packages from. The job expects a Queue Environment to handle this. type: STRING default: conda-forge

Die neueste Version der vollständigen Beispiel-Jobvorlage finden Sie unter stage_1_self_contained_template/template.yaml. Die neueste Version der Warteschlangenumgebung, die die Conda-Pakete lädt, finden Sie unter conda_queue_env_console_equivalent.yaml im Deadline-Cloud-Samples-Repository unter. GitHub

Get Blender aus dem Deadline-Cloud-Kanal

Das folgende Beispiel zeigt eine Jobvorlage, die Blender aus dem deadline-cloud Conda-Channel stammt. Dieser Kanal unterstützt die Einreicher, die Deadline Cloud für Software zur Erstellung digitaler Inhalte bereitstellt. Sie können jedoch denselben Kanal verwenden, um Software für Ihren eigenen Gebrauch zu laden.

Eine Liste der vom deadline-cloud Kanal bereitgestellten Software finden Sie unter Standard-Warteschlangenumgebung im AWS Deadline Cloud-Benutzerhandbuch.

Dieser Job legt den in der Warteschlangenumgebung definierten CondaPackages Parameter fest, um Deadline Cloud anzuweisen, Blender in die Umgebung zu laden.

Der Abschnitt der Jobvorlage, der den Parameter festlegt, lautet:

- name: CondaPackages type: STRING userInterface: control: LINE_EDIT label: Conda Packages groupLabel: Software Environment default: blender description: > Tells the queue environment to install Blender from the deadline-cloud conda channel.

Die neueste Version der vollständigen Beispiel-Jobvorlage finden Sie unter blender_render/template.yaml. Die neueste Version der Warteschlangenumgebung, die die Conda-Pakete lädt, finden Sie unter conda_queue_env_console_equivalent.yaml im Deadline-Cloud-Samples-Repository unter. GitHub

Verwenden Sie einen anderen Paketmanager

Der Standard-Paketmanager für Deadline Cloud ist conda. Wenn Sie einen anderen Paketmanager verwenden müssen, z. B. können Sie eine benutzerdefinierte Warteschlangenumgebung erstellenRez, die Skripts enthält, die stattdessen Ihren Paketmanager verwenden.

Diese Beispiel-Warteschlangenumgebung bietet dasselbe Verhalten wie die Umgebung, die von der Konsole für vom Service verwaltete Flotten verwendet wird. Sie ersetzt den Conda-Paketmanager durch. Rez

Die Umgebung definiert drei Skripte, die ausgeführt werden, wenn Deadline Cloud eine Sitzung auf einem Worker startet. Das erste Skript wird ausgeführt, wenn die onEnter Aktion aufgerufen wird. Es ruft die anderen beiden auf, um Umgebungsvariablen einzurichten. Wenn die Ausführung des Skripts abgeschlossen ist, ist die Rez Umgebung mit allen festgelegten Umgebungsvariablen verfügbar.

Das Beispiel geht davon aus, dass Sie über eine vom Kunden verwaltete Flotte verfügen, die ein gemeinsam genutztes Dateisystem für die Rez-Pakete verwendet.

Die neueste Version des Beispiels finden Sie unter rez_queue_env.yaml im Deadline-Cloud-Samples-Repository unter. GitHub

Python-only Verwenden Sie pip für Pakete

Wenn es sich bei den Anwendungen oder Bibliotheken, die Ihre Jobs benötigen, um reine Python-Pakete handelt, die auf PyPI verfügbar sind, können Sie pip und das venv Python-Standardbibliotheksmodul anstelle von Conda oder verwenden. Rez Dieser Ansatz funktioniert gut, wenn ein Paket nicht in einem Conda-Channel veröffentlicht wird oder wenn Sie eine kleinere virtuelle Umgebung als die von Conda erstellen möchten. Im Gegensatz zu Conda und Rez Pip und venv sind in Python selbst enthalten, sodass Worker-Hosts nur einen python3 Interpreter auf dem benötigen. PATH Deadline Cloud-Flotten, die vom Service verwaltet werden, bieten einen.

Der Pip Queue-Umgebung für Deadline Cloud erstellt eine virtuelle Python-Umgebung im Arbeitsverzeichnis der Sitzung, wenn ein Job den PipPackages Parameter festlegt, die angeforderten Pakete mit pip darin installiert und aktiviert, sodass die Schritte des Jobs mit diesen verfügbaren Paketen ausgeführt werden. Da die Umgebung im Arbeitsverzeichnis der Sitzung erstellt wird, bereinigt Deadline Cloud sie automatisch, wenn die Sitzung endet, und Sie müssen keine eigene Bereinigungslogik schreiben. Wenn ein Job nicht eingerichtet istPipPackages, tut die Warteschlangenumgebung nichts. Sie können ihn also einer Warteschlange hinzufügen, in der auch Jobs ausgeführt werden, die ihn nicht verwenden.

Um Pakete aus einem privaten Index wie einem CodeArtifactAWS-Repository statt aus dem öffentlichen PyPI-Index zu installieren, legen Sie die PipExtraIndexUrls Parameter PipIndexUrl und fest, die die Warteschlangenumgebung bereitstellt.

Wenn Sie lieber keine Warteschlangenumgebung konfigurieren möchten, können Sie dieselbe Pip-Umgebung stattdessen direkt in einem Job-Bundle definieren. Ein Beispiel für jeden Ansatz finden Sie in den Job-Bundles pip_package_job und pip_self_contained_job im Deadline-Cloud-Samples-Repository unter. GitHub

Fügen Sie bei Produktionswarteschlangen die Paketversionen in den Parameterwert ein, anstatt jedes Mal die neueste Version zu installieren. PipPackages Durch das Fixieren von Versionen erhalten Sie reproduzierbare Umgebungen und vermeiden unerwartete Ausfälle, wenn ein Paket eine neue Version veröffentlicht. Wenn ein Job davon abhängt, dass die Versionen des Absenders und des Adapters übereinstimmen, binden Sie beide Versionen an dieselbe Version.

Wenn Ihre vom Kunden verwalteten Flottenmitarbeiter Aufträge für mehr als eine DCC-Anwendung (Digital Content Creation) ausführen und Sie Deadline Cloud-Adapter mit Pip installieren, installieren Sie jeden Adapter in seiner eigenen virtuellen Umgebung. Die gemeinsame Installation mehrerer Adapter in derselben virtuellen Umgebung kann dazu führen, dass Pip eine gemeinsame Abhängigkeit von einer Version auflöst, die mit einem der Adapter in Konflikt steht.

Worker-Hosts benötigen Netzwerkzugriff auf eine Paketquelle wie PyPI oder einen privaten Spiegel, um Pakete zu installieren, wenn eine Sitzung gestartet wird. Wenn Ihre vom Kunden verwalteten Flottenarbeiter in einem privaten Subnetz ohne Internetzugang arbeiten, verwenden Sie einen VPC-Endpunkt für Ihre Paketquelle, einen privaten Pip-Mirror, oder installieren Sie die Pakete stattdessen in Ihrem Worker-AMI.

Die folgende Tabelle fasst die Kompromisse der einzelnen Paketmanager zusammen, um Ihnen bei der Auswahl des zu verwendenden Paketmanagers zu helfen.

Paketmanager Am besten geeignet für Trade-offs
Conda (Standard) DCC-Anwendungen, komplexe native Abhängigkeiten, plattformübergreifende Pakete Größere Umgebungen; Pakete müssen in einem Conda-Kanal veröffentlicht werden
Rez Studio-Pipelines mit vorhandener Infrastruktur Rez Erfordert die Rez Installation auf Worker-Hosts und ein gemeinsam genutztes Dateisystem für das Paket-Repository
Pip Python-only Pakete, PyPI-hosted Bibliotheken, einfache Installationen Beschränkt auf Python-Pakete; keine native Abhängigkeitsauflösung

Nachdem Sie eine Warteschlangenumgebung ausgewählt haben, hängen Sie sie an Ihre Warteschlange an. Sie können die YAML-Vorlage entweder über den Tab Warteschlangenumgebungen für Ihre Warteschlange in der Deadline Cloud-Konsole hinzufügen oder den CreateQueueEnvironment Vorgang deadline: verwenden. Anweisungen für die Konsole finden Sie unter Erstellen einer Warteschlangenumgebung im AWS Deadline Cloud-Benutzerhandbuch. So hängen Sie eine Warteschlangenumgebung mit der AWS CLI an:

aws deadline create-queue-environment \ --farm-id FARM_ID \ --queue-id QUEUE_ID \ --priority 1 \ --template-type YAML \ --template file://queue-environment.yaml