As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Elementos de modelo de trabalho para pacotes de tarefas
O modelo de trabalho define o ambiente de execução e os processos que são executados como parte de um trabalho do Deadline Cloud. Você pode criar parâmetros em um modelo para que ele possa ser usado para criar trabalhos que diferem apenas nos valores de entrada, assim como uma função em uma linguagem de programação.
Quando você envia um trabalho para o Deadline Cloud, ele é executado em qualquer ambiente de fila aplicado à fila. Os ambientes de fila são criados usando a especificação de ambientes externos Open Job Description (OpenJD). Para obter detalhes, consulte o modelo Environment
Para uma introdução à criação de um trabalho com um modelo de trabalho do OpenJD, consulte Introdução à criação de um trabalho samples
Você pode definir o modelo de trabalho no formato YAML (template.yaml) ou no formato JSON (template.json). Os exemplos nesta seção são mostrados no formato YAML.
Por exemplo, o modelo de trabalho da blender_render amostra define um parâmetro de entrada BlenderSceneFile como um caminho de arquivo:
- 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.
A userInterface propriedade define o comportamento das interfaces de usuário geradas automaticamente para a linha de comando usando o deadline bundle gui-submit comando e nos plug-ins de envio de tarefas para aplicativos como o Autodesk Maya.
O gui-submit comando abre uma caixa de diálogo de envio com uma guia Configurações de tarefa compartilhada para o nome, prioridade e fila de destino da tarefa, e uma guia de Job-specific configurações gerada a partir das definições de parâmetros no modelo de trabalho.
Neste exemplo, o widget de interface do usuário para inserir um valor para o BlenderSceneFile parâmetro é uma caixa de diálogo de seleção de arquivos que mostra somente arquivos. .blend
Para obter mais exemplos de uso do userInteface elemento, consulte a amostra gui_control_showcase no repositório
As dataFlow propriedades objectType e controlam o comportamento dos anexos de trabalho quando você envia um trabalho a partir de um pacote de trabalhos. Nesse caso, objectType:
FILE e dataFlow:IN significa que o valor de BlenderSceneFile é um arquivo de entrada para anexos de trabalho.
Em contraste, a definição do OutputDir parâmetro tem objectType:
DIRECTORY edataFlow: 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.
O valor do OutputDir parâmetro é usado pelos anexos do trabalho como o diretório em que o trabalho grava os arquivos de saída.
Quando você envia o pacote, a guia Anexos do trabalho da caixa de diálogo de envio lista os arquivos e diretórios de entrada detectados nessas propriedades, junto com os diretórios de saída nos quais o trabalho grava. Os caminhos mostrados em itálico foram detectados automaticamente; você pode adicionar outros que o remetente não encontrou.
Para obter mais informações sobre as dataFlow propriedades objectType e, consulte JobPathParameterDefinition
O restante da amostra do modelo de blender_render trabalho define o fluxo de trabalho como uma única etapa, com cada quadro na animação renderizado como uma tarefa separada:
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}}
Por exemplo, se o valor do Frames parâmetro for1-10, ele define 10 tarefas. Cada tarefa tem um valor diferente para o Frame parâmetro. Para executar uma tarefa:
-
Todas as referências de variáveis na
datapropriedade do arquivo incorporado são expandidas, por exemplo--render-frame 1. -
O conteúdo da
datapropriedade é gravado em um arquivo no diretório de trabalho da sessão no disco. -
O
onRuncomando da tarefa é resolvidobashe, em seguida, executado.location of embedded file
Para obter mais informações sobre arquivos incorporados, sessões e locais mapeados por caminhos, consulte Como os trabalhos são executados
Há mais exemplos de modelos de trabalho no samples/job_bundles repositório