View a markdown version of this page

Defina o caminho em um ambiente de fila - Deadline Cloud

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

Defina o caminho em um ambiente de fila

Use ambientes OpenJD para fornecer novos comandos em um ambiente. Primeiro, você cria um diretório contendo arquivos de script e, em seguida, adiciona esse diretório às variáveis de PATH ambiente para que os executáveis em seu script possam executá-los sem precisar especificar o caminho do diretório a cada vez. A lista de variáveis em uma definição de ambiente não fornece uma maneira de modificar a variável, então você faz isso executando um script. Depois que o script configura as coisas e modifica oPATH, ele exporta a variável para o tempo de execução do OpenJD com o comando. echo "openjd_env: PATH=$PATH"

Pré-requisitos

Execute as etapas a seguir para executar o pacote de trabalho de amostra com variáveis de ambiente do repositório github de amostras do Deadline Cloud.

  1. Se você não tiver um farm do Deadline Cloud com uma fila e uma frota Linux associada, siga a experiência de integração guiada no console do Deadline Cloud para criar um com as configurações padrão.

  2. Se você não tiver o Deadline Cloud CLI e o monitor Deadline Cloud em sua estação de trabalho, siga as etapas em Configurar remetentes do Deadline Cloud no guia do usuário.

  3. Use git para clonar o GitHub repositório de amostras do Deadline Cloud.

    git clone https://github.com/aws-deadline/deadline-cloud-samples.git Cloning into 'deadline-cloud-samples'... ... cd deadline-cloud-samples/job_bundles

Execute a amostra de caminho

  1. Use o Deadline Cloud CLI para enviar a job_env_with_new_command amostra.

    $ deadline bundle submit job_env_with_new_command Submitting to Queue: MySampleQueue ...
  2. No monitor Deadline Cloud, você verá o novo trabalho e poderá monitorar seu progresso. Quando a Linux frota associada à fila tiver um trabalhador disponível para executar a tarefa do trabalho, o trabalho será concluído em alguns segundos. Selecione a tarefa e escolha a opção Exibir registros no menu superior direito do painel de tarefas.

    À direita estão duas ações de sessão, Inicialização RandomSleepCommand e Execução de tarefas. O visualizador de registros no centro da janela corresponde à ação da sessão selecionada à direita.

Compare as ações da sessão com suas definições

Nesta seção, você usa o monitor Deadline Cloud para comparar as ações da sessão com o local onde elas estão definidas no modelo de trabalho. Continua da seção anterior.

Abra o arquivo job_env_with_new_command/template .yaml em um editor de texto. Compare as ações da sessão com o local onde elas estão definidas no modelo de trabalho.

  1. Selecione a ação Iniciar RandomSleepCommand sessão no monitor do Deadline Cloud. Você verá a saída do log da seguinte forma.

    2024/07/16 17:25:32-07:00 2024/07/16 17:25:32-07:00 ============================================== 2024/07/16 17:25:32-07:00 --------- Entering Environment: RandomSleepCommand 2024/07/16 17:25:32-07:00 ============================================== 2024/07/16 17:25:32-07:00 ---------------------------------------------- 2024/07/16 17:25:32-07:00 Phase: Setup 2024/07/16 17:25:32-07:00 ---------------------------------------------- 2024/07/16 17:25:32-07:00 Writing embedded files for Environment to disk. 2024/07/16 17:25:32-07:00 Mapping: Env.File.Enter -> /sessions/session-ab132a51b9b54d5da22cbe839dd946baaw1c8hk5/embedded_filesf3tq_1os/tmpbt8j_c3f 2024/07/16 17:25:32-07:00 Mapping: Env.File.SleepScript -> /sessions/session-ab132a51b9b54d5da22cbe839dd946baaw1c8hk5/embedded_filesf3tq_1os/tmperastlp4 2024/07/16 17:25:32-07:00 Wrote: Enter -> /sessions/session-ab132a51b9b54d5da22cbe839dd946baaw1c8hk5/embedded_filesf3tq_1os/tmpbt8j_c3f 2024/07/16 17:25:32-07:00 Wrote: SleepScript -> /sessions/session-ab132a51b9b54d5da22cbe839dd946baaw1c8hk5/embedded_filesf3tq_1os/tmperastlp4 2024/07/16 17:25:32-07:00 ---------------------------------------------- 2024/07/16 17:25:32-07:00 Phase: Running action 2024/07/16 17:25:32-07:00 ---------------------------------------------- 2024/07/16 17:25:32-07:00 Running command sudo -u job-user -i setsid -w /sessions/session-ab132a51b9b54d5da22cbe839dd946baaw1c8hk5/tmpbwrquq5u.sh 2024/07/16 17:25:32-07:00 Command started as pid: 2205 2024/07/16 17:25:32-07:00 Output: 2024/07/16 17:25:33-07:00 openjd_env: PATH=/sessions/session-ab132a51b9b54d5da22cbe839dd946baaw1c8hk5/bin:/opt/conda/condabin:/home/job-user/.local/bin:/home/job-user/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/var/lib/snapd/snap/bin No newer logs at this moment.

    As linhas a seguir do modelo de trabalho especificaram essa ação.

    jobEnvironments: - name: RandomSleepCommand description: Adds a command 'random-sleep' to the environment. script: actions: onEnter: command: bash args: - "{{Env.File.Enter}}" embeddedFiles: - name: Enter type: TEXT data: | #!/bin/env bash set -euo pipefail # Make a bin directory inside the session's working directory for providing new commands mkdir -p '{{Session.WorkingDirectory}}/bin' # If this bin directory is not already in the PATH, then add it if ! [[ ":$PATH:" == *':{{Session.WorkingDirectory}}/bin:'* ]]; then export "PATH={{Session.WorkingDirectory}}/bin:$PATH" # This message to Open Job Description exports the new PATH value to the environment echo "openjd_env: PATH=$PATH" fi # Copy the SleepScript embedded file into the bin directory cp '{{Env.File.SleepScript}}' '{{Session.WorkingDirectory}}/bin/random-sleep' chmod u+x '{{Session.WorkingDirectory}}/bin/random-sleep' - name: SleepScript type: TEXT runnable: true data: | ...
  2. Selecione a ação Iniciar StepEnv sessão no monitor do Deadline Cloud. Você vê a saída do log da seguinte forma.

    2024/07/16 17:25:33-07:00 2024/07/16 17:25:33-07:00 ============================================== 2024/07/16 17:25:33-07:00 --------- Running Task 2024/07/16 17:25:33-07:00 ============================================== 2024/07/16 17:25:33-07:00 ---------------------------------------------- 2024/07/16 17:25:33-07:00 Phase: Setup 2024/07/16 17:25:33-07:00 ---------------------------------------------- 2024/07/16 17:25:33-07:00 Writing embedded files for Task to disk. 2024/07/16 17:25:33-07:00 Mapping: Task.File.Run -> /sessions/session-ab132a51b9b54d5da22cbe839dd946baaw1c8hk5/embedded_filesf3tq_1os/tmpdrwuehjf 2024/07/16 17:25:33-07:00 Wrote: Run -> /sessions/session-ab132a51b9b54d5da22cbe839dd946baaw1c8hk5/embedded_filesf3tq_1os/tmpdrwuehjf 2024/07/16 17:25:33-07:00 ---------------------------------------------- 2024/07/16 17:25:33-07:00 Phase: Running action 2024/07/16 17:25:33-07:00 ---------------------------------------------- 2024/07/16 17:25:33-07:00 Running command sudo -u job-user -i setsid -w /sessions/session-ab132a51b9b54d5da22cbe839dd946baaw1c8hk5/tmpz81iaqfw.sh 2024/07/16 17:25:33-07:00 Command started as pid: 2256 2024/07/16 17:25:33-07:00 Output: 2024/07/16 17:25:34-07:00 + random-sleep 12.5 27.5 2024/07/16 17:26:00-07:00 Sleeping for duration 26.90 2024/07/16 17:26:00-07:00 ---------------------------------------------- 2024/07/16 17:26:00-07:00 Uploading output files to Job Attachments 2024/07/16 17:26:00-07:00 ----------------------------------------------
  3. As linhas a seguir do modelo de trabalho especificaram essa ação.

    steps: - name: EnvWithCommand script: actions: onRun: command: bash args: - '{{Task.File.Run}}' embeddedFiles: - name: Run type: TEXT data: | set -xeuo pipefail # Run the script installed into PATH by the job environment random-sleep 12.5 27.5 hostRequirements: attributes: - name: attr.worker.os.family anyOf: - linux