Obtendo arquivos de saída de um trabalho - Nuvem de prazos

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

Obtendo arquivos de saída de um trabalho

Este exemplo mostra como o Deadline Cloud identifica os arquivos de saída que seus trabalhos geram, decide se deseja fazer o upload desses arquivos para o Amazon S3 e como você pode obter esses arquivos de saída em sua estação de trabalho.

Use o pacote de job_attachments_devguide_output tarefas em vez do pacote de job_attachments_devguide tarefas para este exemplo. Comece fazendo uma cópia do pacote em seu AWS CloudShell ambiente a partir do seu clone do repositório de amostras GitHub do Deadline Cloud:

cp -r deadline-cloud-samples/job_bundles/job_attachments_devguide_output ~/

A diferença importante entre esse pacote de tarefas e o pacote de job_attachments_devguide tarefas é a adição de um novo parâmetro de tarefa no modelo de tarefa:

... parameterDefinitions: ... - name: OutputDir type: PATH objectType: DIRECTORY dataFlow: OUT default: ./output_dir description: This directory contains the output for all steps. ...

A dataFlow propriedade do parâmetro tem o valorOUT. O Deadline Cloud usa o valor dos parâmetros do dataFlow trabalho com um valor de OUT ou INOUT como resultados do seu trabalho. Se a localização do sistema de arquivos passada como um valor para esses tipos de parâmetros de trabalho for remapeada para uma localização do sistema de arquivos local no trabalhador que executa o trabalho, o Deadline Cloud procurará novos arquivos no local e os enviará para o Amazon S3 como resultados do trabalho.

Para ver como isso funciona, primeiro inicie o agente do Deadline Cloud Worker em uma AWS CloudShell guia. Permita que todos os trabalhos enviados anteriormente terminem de ser executados. Em seguida, exclua os registros de tarefas do diretório de registros:

rm -rf ~/devdemo-logs/queue-*

Em seguida, envie um trabalho com esse pacote de trabalhos. Depois que o trabalhador estiver executando suas CloudShell execuções, veja os registros:

# Change the value of FARM_ID to your farm's identifier FARM_ID=farm-00112233445566778899aabbccddeeff # Change the value of QUEUE1_ID to queue Q1's identifier QUEUE1_ID=queue-00112233445566778899aabbccddeeff # Change the value of WSALL_ID to the identifier of the WSAll storage profile WSALL_ID=sp-00112233445566778899aabbccddeeff deadline config set settings.storage_profile_id $WSALL_ID deadline bundle submit --farm-id $FARM_ID --queue-id $QUEUE1_ID ./job_attachments_devguide_output

O registro mostra que um arquivo foi detectado como saída e carregado no Amazon S3:

2024-07-17 02:13:10,873 INFO ---------------------------------------------- 2024-07-17 02:13:10,873 INFO Uploading output files to Job Attachments 2024-07-17 02:13:10,873 INFO ---------------------------------------------- 2024-07-17 02:13:10,873 INFO Started syncing outputs using Job Attachments 2024-07-17 02:13:10,955 INFO Found 1 file totaling 117.0 B in output directory: /sessions/session-7efa/assetroot-assetroot-3751a/output_dir 2024-07-17 02:13:10,956 INFO Uploading output manifest to DeadlineCloud/Manifests/farm-0011/queue-2233/job-4455/step-6677/task-6677-0/2024-07-17T02:13:10.835545Z_sessionaction-8899-1/c6808439dfc59f86763aff5b07b9a76c_output 2024-07-17 02:13:10,988 INFO Uploading 1 output file to S3: s3BucketName/DeadlineCloud/Data 2024-07-17 02:13:11,011 INFO Uploaded 117.0 B / 117.0 B of 1 file (Transfer rate: 0.0 B/s) 2024-07-17 02:13:11,011 INFO Summary Statistics for file uploads: Processed 1 file totaling 117.0 B. Skipped re-processing 0 files totaling 0.0 B. Total processing time of 0.02281 seconds at 5.13 KB/s.

O registro também mostra que o Deadline Cloud criou um novo objeto de manifesto no bucket do Amazon S3 configurado para uso por anexos de trabalho na fila. Q1 O nome do objeto manifesto é derivado do farm, da fila, do trabalho, da etapa, da tarefa, do carimbo de data/hora e dos sessionaction identificadores da tarefa que gerou a saída. Baixe esse arquivo de manifesto para ver onde o Deadline Cloud colocou os arquivos de saída para essa tarefa:

# The name of queue `Q1`'s job attachments S3 bucket Q1_S3_BUCKET=$( aws deadline get-queue --farm-id $FARM_ID --queue-id $QUEUE1_ID \ --query 'jobAttachmentSettings.s3BucketName' | tr -d '"' ) # Fill this in with the object name from your log OBJECT_KEY="DeadlineCloud/Manifests/..." aws s3 cp --quiet s3://$Q1_S3_BUCKET/$OBJECT_KEY /dev/stdout | jq .

O manifesto se parece com:

{ "hashAlg": "xxh128", "manifestVersion": "2023-03-03", "paths": [ { "hash": "34178940e1ef9956db8ea7f7c97ed842", "mtime": 1721182390859777, "path": "output_dir/output.txt", "size": 117 } ], "totalSize": 117 }

Isso mostra que o conteúdo do arquivo de saída é salvo no Amazon S3 da mesma forma que os arquivos de entrada do trabalho são salvos. Semelhante aos arquivos de entrada, o arquivo de saída é armazenado no S3 com um nome de objeto contendo o hash do arquivo e o prefixo. DeadlineCloud/Data

$ aws s3 ls --recursive s3://$Q1_S3_BUCKET | grep 34178940e1ef9956db8ea7f7c97ed842 2024-07-17 02:13:11 117 DeadlineCloud/Data/34178940e1ef9956db8ea7f7c97ed842.xxh128

Você pode baixar a saída de um trabalho para sua estação de trabalho usando o monitor do Deadline Cloud ou a CLI do Deadline Cloud:

deadline job download-output --farm-id $FARM_ID --queue-id $QUEUE1_ID --job-id $JOB_ID

O valor do parâmetro do OutputDir trabalho no trabalho enviado é./output_dir, portanto, a saída é baixada para um diretório chamado output_dir dentro do diretório do pacote de trabalhos. Se você especificou um caminho absoluto ou um local relativo diferente como valor paraOutputDir, os arquivos de saída seriam baixados para esse local.

$ deadline job download-output --farm-id $FARM_ID --queue-id $QUEUE1_ID --job-id $JOB_ID Downloading output from Job 'Job Attachments Explorer: Output' Summary of files to download: /home/cloudshell-user/job_attachments_devguide_output/output_dir/output.txt (1 file) You are about to download files which may come from multiple root directories. Here are a list of the current root directories: [0] /home/cloudshell-user/job_attachments_devguide_output > Please enter the index of root directory to edit, y to proceed without changes, or n to cancel the download (0, y, n) [y]: Downloading Outputs [####################################] 100% Download Summary: Downloaded 1 files totaling 117.0 B. Total download time of 0.14189 seconds at 824.0 B/s. Download locations (total file counts): /home/cloudshell-user/job_attachments_devguide_output (1 file)