View a markdown version of this page

Éléments de modèle de poste pour les offres d'emploi - Deadline Cloud

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Éléments de modèle de poste pour les offres d'emploi

Le modèle de tâche définit l'environnement d'exécution et les processus qui s'exécutent dans le cadre d'une tâche Deadline Cloud. Vous pouvez créer des paramètres dans un modèle afin qu'il puisse être utilisé pour créer des tâches dont les valeurs d'entrée ne diffèrent que par leurs valeurs d'entrée, un peu comme une fonction dans un langage de programmation.

Lorsque vous soumettez une tâche à Deadline Cloud, elle s'exécute dans tous les environnements de file d'attente appliqués à la file d'attente. Les environnements de files d'attente sont créés à l'aide de la spécification des environnements externes Open Job Description (OpenJD). Pour plus de détails, consultez le modèle d'environnement dans le GitHub référentiel OpenJD.

Pour une introduction à la création d'une tâche avec un modèle de tâche OpenJD, voir Introduction à la création d'une tâche dans le référentiel OpenJD GitHub . Des informations supplémentaires sont disponibles dans Comment les tâches sont exécutées. Des exemples de modèles de tâches se trouvent dans le samples répertoire du GitHub référentiel OpenJD.

Vous pouvez définir le modèle de tâche au format YAML (template.yaml) ou au format JSON (template.json). Les exemples de cette section sont présentés au format YAML.

Par exemple, le modèle de tâche de l'blender_renderexemple définit un paramètre d'entrée BlenderSceneFile sous la forme d'un chemin de fichier :

- 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.

La userInterface propriété définit le comportement des interfaces utilisateur générées automatiquement à la fois pour la ligne de commande utilisant la deadline bundle gui-submit commande et dans les plug-ins de soumission de tâches pour des applications telles qu'Autodesk Maya.

La gui-submit commande ouvre une boîte de dialogue de soumission contenant un onglet Paramètres de tâche partagés pour le nom, la priorité et la file d'attente cible de la tâche, ainsi qu'un onglet de Job-specific paramètres généré à partir des définitions de paramètres du modèle de tâche.

La boîte de dialogue de soumission des tâches affichant l'onglet Paramètres des tâches partagées avec le nom de la tâche, la priorité, ainsi que les champs de ferme et de file d'attente.

Dans cet exemple, le widget d'interface utilisateur permettant de saisir une valeur pour le BlenderSceneFile paramètre est une boîte de dialogue de sélection de fichiers qui affiche uniquement les fichiers. .blend

Un widget d'interface utilisateur permettant de saisir le paramètre du fichier de scène pour un modèle de tâche OpenJD.

Pour plus d'exemples d'utilisation de l'userIntefaceélément, consultez l'exemple gui_control_showcase dans le référentiel deadline-cloud-samples sur. GitHub

Les dataFlow propriétés objectType et contrôlent le comportement des pièces jointes lorsque vous soumettez une tâche à partir d'un ensemble de tâches. Dans ce cas, objectType: FILE dataFlow:IN cela signifie que la valeur de BlenderSceneFile est un fichier d'entrée pour les pièces jointes aux tâches.

En revanche, la définition du OutputDir paramètre comporte objectType: DIRECTORY et dataFlow: 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.

La valeur du OutputDir paramètre est utilisée par les pièces jointes aux tâches comme répertoire dans lequel la tâche écrit les fichiers de sortie.

Lorsque vous soumettez le bundle, l'onglet Pièces jointes aux tâches de la boîte de dialogue de soumission répertorie les fichiers d'entrée et les répertoires détectés à partir de ces propriétés, ainsi que les répertoires de sortie dans lesquels le job écrit. Les chemins indiqués en italique ont été détectés automatiquement ; vous pouvez en ajouter d'autres que l'expéditeur n'a pas trouvés.

L'onglet Pièces jointes d'une boîte de dialogue de soumission, répertoriant les fichiers d'entrée détectés, les répertoires d'entrée et le répertoire de sortie.

Pour plus d'informations sur les dataFlow propriétés objectType et, voir JobPathParameterDefinition la spécification Open Job Description

Le reste de l'exemple de modèle de blender_render tâche définit le flux de travail de la tâche comme une seule étape, chaque image de l'animation étant rendue comme une tâche distincte :

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}}

Par exemple, si la valeur du Frames paramètre est1-10, il définit 10 tâches. Chaque tâche possède une valeur différente pour le Frame paramètre. Pour exécuter une tâche :

  1. Toutes les références de variables de la data propriété du fichier intégré sont développées, par exemple--render-frame 1.

  2. Le contenu de la data propriété est écrit dans un fichier du répertoire de travail de la session sur le disque.

  3. La onRun commande de la tâche est bash location of embedded file résolue puis exécutée.

Pour plus d'informations sur les fichiers intégrés, les sessions et les emplacements mappés, consultez la section Comment les tâches sont exécutées dans la spécification Open Job Description.

Vous trouverez d'autres exemples de modèles de tâches dans le samples/job_bundles référentiel deadline-cloud-, ainsi que les exemples de modèles fournis avec la spécification Open Job Descriptions.