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 von Diensten 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 zu laden, bevor der Job ausgeführt wird.

Eine Anwendung von einem Conda-Channel abrufen

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

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

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

Die Umgebung definiert drei Skripts, 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 mit allen angegebenen Umgebungsvariablen verfügbar.

Die neueste Version des Beispiels finden Sie unter https://github.com/aws-deadline/deadline-cloud-samples/blob/mainline/queue_environments/conda_queue_env_from_console.yaml conda_queue_env_from_console.yaml im Deadline-Cloud-Samples-Repository unter. https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline GitHub

Wenn Sie eine Anwendung verwenden möchten, die im Conda-Kanal nicht verfügbar ist, können Sie in Amazon S3 einen Conda-Kanal 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 Channel 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, ist:

- 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 stage_1_self_contained_template/template unter.yaml. Die neueste Version der Warteschlangenumgebung, die die Conda-Pakete lädt, finden Sie unter https://github.com/aws-deadline/deadline-cloud-samples/blob/mainline/queue_environments/conda_queue_env_from_console.yaml conda_queue_env_from_console.yaml im Deadline-Cloud-Samples-Repository unter. https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline GitHub

Get Blender aus dem Deadline-Cloud-Kanal

Das folgende Beispiel zeigt eine Jobvorlage, die Blender vom deadline-cloud Conda-Kanal abgerufen wird. 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 findest du 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 blender_render/template unter.yaml. Die neueste Version der Warteschlangenumgebung, die die Conda-Pakete lädt, finden Sie unter https://github.com/aws-deadline/deadline-cloud-samples/blob/mainline/queue_environments/conda_queue_env_from_console.yaml conda_queue_env_from_console.yaml im Deadline-Cloud-Samples-Repository unter. https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline GitHub

Verwenden Sie einen anderen Paketmanager

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

Diese Beispiel-Warteschlangenumgebung bietet dasselbe Verhalten wie die Umgebung, die von der Konsole für dienstverwaltete Flotten verwendet wird. Es 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 angegebenen Umgebungsvariablen verfügbar.

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

Die neueste Version des Beispiels finden Sie unter https://github.com/aws-deadline/deadline-cloud-samples/blob/mainline/queue_environments/rez_queue_env.yaml rez_queue_env.yaml im Deadline-Cloud-Samples-Repository unter. https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline GitHub

Python-only Verwenden Sie pip für Pakete

Wenn die Anwendungen oder Bibliotheken, die Ihre Jobs benötigen, reine Python-Pakete sind, 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 auf einem Conda-Kanal veröffentlicht wird oder wenn Sie eine kleinere virtuelle Umgebung als die von Conda erstellte benötigen. Im Gegensatz zu conda undRez, pip und venv sind in Python selbst enthalten, sodass Worker-Hosts nur einen python3 Interpreter auf dem benötigen. PATH Die vom Service verwalteten Flotten von Deadline Cloud bieten eine.

Das 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 sie aktiviert, sodass die Schritte des Jobs mit den 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 gesetzt wirdPipPackages, tut die Warteschlangenumgebung nichts. Sie können ihn also zu einer Warteschlange hinzufügen, in der auch Jobs ausgeführt werden, die ihn nicht verwenden.

Um Pakete aus einem privaten Index wie einem CodeArtifact AWS-Repository anstelle des ö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-Paket definieren. Ein Beispiel für jeden Ansatz finden Sie in den Jobpaketen pip_package_job und https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/job_bundles/pip_self_contained_job pip_self_contained_job im Deadline-Cloud-Samples-Repository unter. https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline GitHub

Für Produktionswarteschlangen sollten Sie Paketversionen an den Parameterwert anheften, anstatt jedes Mal die neueste Version zu installieren. PipPackages Versions-Pinning bietet Ihnen reproduzierbare Umgebungen und verhindert unerwartete Unterbrechungen, wenn ein Paket eine neue Version veröffentlicht. Wenn ein Auftrag davon abhängt, ob die Submitter- und Adapter-Versionen übereinstimmen, heften Sie beide an dieselbe Version an.

Wenn Ihre vom Kunden verwalteten Flottenmitarbeiter Jobs 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 gleichzeitige 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 Mirror, um Pakete zu installieren, wenn eine Sitzung beginnt. Wenn Ihre vom Kunden verwalteten Flottenarbeiter in einem privaten Subnetz ohne Internetzugang arbeiten, verwenden Sie stattdessen einen VPC-Endpunkt zu Ihrer Paketquelle, einen privaten Pip-Spiegelserver, 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 richtigen 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 auf einem Conda-Channel veröffentlicht werden
Rez Studio-Pipelines mit vorhandener Infrastruktur Rez Erfordert eine 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 Auflösung von Abhängigkeiten

Nachdem Sie eine Warteschlangenumgebung ausgewählt haben, hängen Sie sie an Ihre Warteschlange an. Sie können entweder die YAML-Vorlage ü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 Eine Warteschlangenumgebung erstellen im AWS Deadline Cloud-Benutzerhandbuch. Um eine Warteschlangenumgebung mit der AWS CLI anzuhängen:

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