Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Envía con Deadline Cloud
Para ejecutar trabajos de Deadline Cloud en los hosts de sus trabajadores, cree y utilice un paquete de trabajos de Open Job Description (OpenJD) para configurar un trabajo. El paquete configura el trabajo, por ejemplo, especificando los archivos de entrada para un trabajo y dónde escribir el resultado del trabajo. En este tema se incluyen ejemplos de formas de configurar un paquete de trabajos.
Para poder seguir los procedimientos de esta sección, debe completar lo siguiente:
Para usar AWS Deadline Cloud para ejecutar trabajos, utilice los siguientes procedimientos. Usa la primera AWS CloudShell pestaña para enviar trabajos a tu granja de desarrolladores. Utilice la segunda CloudShell pestaña para ver el resultado del agente obrero.
Temas
Envíe el simple_job ejemplo
Después de crear una granja y ejecutar el agente obrero, puede enviar el simple_job muestra a Deadline Cloud.
Para enviar el simple_job muestra a Deadline Cloud
-
Elige tu primera CloudShell pestaña.
-
Descarga la muestra de GitHub.
cd ~ git clone https://github.com/aws-deadline/deadline-cloud-samples.git
-
Navegue hasta el directorio de ejemplos de paquetes de trabajos.
cd ~/deadline-cloud-samples/job_bundles/
-
Envíe el simple_job muestra.
deadline bundle submit simple_job
-
Selecciona la segunda CloudShell pestaña para ver el resultado del registro sobre las llamadas
BatchGetJobEntities
, la obtención de una sesión y la ejecución de una acción de sesión.... [2024-03-27 16:00:21,846][INFO ] 🔷 Session.Starting 🔷 [session-053d77cef82648fe2] Starting new Session. [queue-3ba4ff683ff54db09b851a2ed8327d7b/job-d34cc98a6e234b6f82577940ab4f76c6] [2024-03-27 16:00:21,853][INFO ] 📤 API.Req 📤 [deadline:BatchGetJobEntity] resource={'farm-id': 'farm-3e24cfc9bbcd423e9c1b6754bc1', 'fleet-id': 'fleet-246ee60f46d44559b6cce010d05', 'worker-id': 'worker-75e0fce9c3c344a69bff57fcd83'} params={'identifiers': [{'jobDetails': {'jobId': 'job-d34cc98a6e234b6f82577940ab4'}}]} request_url=https://scheduling.deadline.us-west-2.amazonaws.com/2023-10-12/farms/farm-3e24cfc9bbcd423e /fleets/fleet-246ee60f46d44559b1 /workers/worker- 75e0fce9c3c344a69b /batchGetJobEntity [2024-03-27 16:00:22,013][INFO ] 📥 API.Resp 📥 [deadline:BatchGetJobEntity](200) params={'entities': [{'jobDetails': {'jobId': 'job-d34cc98a6e234b6f82577940ab6', 'jobRunAsUser': {'posix': {'user': 'job-user', 'group': 'job-group'}, 'runAs': 'QUEUE_CONFIGURED_USER'}, 'logGroupName': '/aws/deadline/farm-3e24cfc9bbcd423e9c1b6754bc1/queue-3ba4ff683ff54db09b851a2ed83', 'parameters': '*REDACTED*', 'schemaVersion': 'jobtemplate-2023-09'}}], 'errors': []} request_id=a3f55914-6470-439e-89e5-313f0c6 [2024-03-27 16:00:22,013][INFO ] 🔷 Session.Add 🔷 [session-053d77cef82648fea9c69827182] Appended new SessionActions. (ActionIds: ['sessionaction-053d77cef82648fea9c69827182-0']) [queue-3ba4ff683ff54db09b851a2ed8b/job-d34cc98a6e234b6f82577940ab6] [2024-03-27 16:00:22,014][WARNING ] 🔷 Session.User 🔷 [session-053d77cef82648fea9c69827182] Running as the Worker Agent's user. (User: cloudshell-user) [queue-3ba4ff683ff54db09b851a2ed8b/job-d34cc98a6e234b6f82577940ac6] [2024-03-27 16:00:22,015][WARNING ] 🔷 Session.AWSCreds 🔷 [session-053d77cef82648fea9c69827182] AWS Credentials are not available: Queue has no IAM Role. [queue-3ba4ff683ff54db09b851a2ed8b/job-d34cc98a6e234b6f82577940ab6] [2024-03-27 16:00:22,026][INFO ] 🔷 Session.Logs 🔷 [session-053d77cef82648fea9c69827182] Logs streamed to: AWS CloudWatch Logs. (LogDestination: /aws/deadline/farm-3e24cfc9bbcd423e9c1b6754bc1/queue-3ba4ff683ff54db09b851a2ed83/session-053d77cef82648fea9c69827181) [queue-3ba4ff683ff54db09b851a2ed83/job-d34cc98a6e234b6f82577940ab4] [2024-03-27 16:00:22,026][INFO ] 🔷 Session.Logs 🔷 [session-053d77cef82648fea9c69827182] Logs streamed to: local file. (LogDestination: /home/cloudshell-user/demoenv-logs/queue-3ba4ff683ff54db09b851a2ed8b/session-053d77cef82648fea9c69827182.log) [queue-3ba4ff683ff54db09b851a2ed83/job-d34cc98a6e234b6f82577940ab4] ...
nota
Solo se muestra el resultado del registro del agente de trabajo. Hay un registro independiente para la sesión en la que se ejecuta el trabajo.
-
Elija la primera pestaña y, a continuación, inspeccione los archivos de registro que escribe el agente de trabajo.
-
Navegue hasta el directorio de registros del agente de trabajo y vea su contenido.
cd ~/demoenv-logs ls
-
Imprima el primer archivo de registro que cree el agente de trabajo.
cat worker-agent-bootstrap.log
Este archivo contiene información sobre cómo llamó a la API de Deadline Cloud para crear un recurso de trabajadores en su flota y, después, asumió la función de flota.
-
Imprima el resultado del archivo de registro cuando el agente obrero se una a la flota.
cat worker-agent.log
Este registro contiene resultados sobre todas las acciones que realiza el agente trabajador, pero no contiene resultados sobre las colas desde las que ejecuta los trabajos, excepto en lo que respecta a esos recursos. IDs
-
Imprima los archivos de registro de cada sesión en un directorio que tenga el mismo nombre que el identificador del recurso de la cola.
cat $DEV_QUEUE_ID/session-*.log
Si el trabajo se realiza correctamente, la salida del archivo de registro será similar a la siguiente:
cat $DEV_QUEUE_ID/$(ls -t $DEV_QUEUE_ID | head -1)
2024-03-27 16:00:22,026 WARNING Session running with no AWS Credentials. 2024-03-27 16:00:22,404 INFO 2024-03-27 16:00:22,405 INFO ============================================== 2024-03-27 16:00:22,405 INFO --------- Running Task 2024-03-27 16:00:22,405 INFO ============================================== 2024-03-27 16:00:22,406 INFO ---------------------------------------------- 2024-03-27 16:00:22,406 INFO Phase: Setup 2024-03-27 16:00:22,406 INFO ---------------------------------------------- 2024-03-27 16:00:22,406 INFO Writing embedded files for Task to disk. 2024-03-27 16:00:22,406 INFO Mapping: Task.File.runScript -> /sessions/session-053d77cef82648fea9c698271812a/embedded_fileswa_gj55_/tmp2u9yqtsz 2024-03-27 16:00:22,406 INFO Wrote: runScript -> /sessions/session-053d77cef82648fea9c698271812a/embedded_fileswa_gj55_/tmp2u9yqtsz 2024-03-27 16:00:22,407 INFO ---------------------------------------------- 2024-03-27 16:00:22,407 INFO Phase: Running action 2024-03-27 16:00:22,407 INFO ---------------------------------------------- 2024-03-27 16:00:22,407 INFO Running command /sessions/session-053d77cef82648fea9c698271812a/tmpzuzxpslm.sh 2024-03-27 16:00:22,414 INFO Command started as pid: 471 2024-03-27 16:00:22,415 INFO Output: 2024-03-27 16:00:22,420 INFO Welcome to AWS Deadline Cloud! 2024-03-27 16:00:22,571 INFO 2024-03-27 16:00:22,572 INFO ============================================== 2024-03-27 16:00:22,572 INFO --------- Session Cleanup 2024-03-27 16:00:22,572 INFO ============================================== 2024-03-27 16:00:22,572 INFO Deleting working directory: /sessions/session-053d77cef82648fea9c698271812a
-
-
Imprima la información sobre el trabajo.
deadline job get
Al enviar el trabajo, el sistema lo guarda como predeterminado para que no tenga que introducir el identificador del trabajo.
Envíe un simple_job con un parámetro
Puede enviar trabajos con parámetros. En el siguiente procedimiento, edite el simple_job para incluir un mensaje personalizado, envíe la simple_joby, a continuación, imprima el archivo de registro de la sesión para ver el mensaje.
Para enviar el simple_job muestra con un parámetro
-
Seleccione la primera CloudShell pestaña y, a continuación, navegue hasta el directorio de ejemplos de paquetes de trabajos.
cd ~/deadline-cloud-samples/job_bundles/
-
Imprima el contenido del simple_job plantilla.
cat simple_job/template.yaml
La
parameterDefinitions
sección con elMessage
parámetro debería tener el siguiente aspecto:parameterDefinitions: - name: Message type: STRING default: Welcome to AWS Deadline Cloud!
-
Envíe el simple_job muestre un valor de parámetro y espere a que el trabajo termine de ejecutarse.
deadline bundle submit simple_job \ -p "Message=Greetings from the developer getting started guide."
-
Para ver el mensaje personalizado, consulte el archivo de registro de sesión más reciente.
cd ~/demoenv-logs cat $DEV_QUEUE_ID/$(ls -t $DEV_QUEUE_ID | head -1)
Cree un paquete de trabajos simple_file_job con E/S de archivos
Un trabajo de renderizado necesita leer la definición de la escena, renderizar una imagen a partir de ella y, a continuación, guardar esa imagen en un archivo de salida. Puede simular esta acción haciendo que el trabajo calcule el hash de la entrada en lugar de renderizar una imagen.
Para crear un paquete de trabajos simple_file_job con E/S de archivos
-
Seleccione la primera CloudShell pestaña y, a continuación, navegue hasta el directorio de ejemplos del paquete de trabajos.
cd ~/deadline-cloud-samples/job_bundles/
-
Haga una copia de
simple_job
con el nuevo nombresimple_file_job
.cp -r simple_job simple_file_job
-
Edite la plantilla de trabajo de la siguiente manera:
nota
Le recomendamos que utilice nano para estos pasos. Si prefieres usar Vim, debe configurar su modo de pegado utilizando
:set paste
.-
Abra la plantilla en un editor de texto.
nano simple_file_job/template.yaml
-
Añada lo siguiente
type
objectType
, ydataFlow
parameterDefinitions
.- name: InFile type: PATH objectType: FILE dataFlow: IN - name: OutFile type: PATH objectType: FILE dataFlow: OUT
-
Añada el siguiente comando de
bash
script al final del archivo para leer el archivo de entrada y escribir en el archivo de salida.# hash the input file, and write that to the output
sha256sum "{{Param.InFile}}" > "{{Param.OutFile}}"
La actualización
template.yaml
debe coincidir exactamente con lo siguiente:specificationVersion: 'jobtemplate-2023-09' name: Simple File Job Bundle Example parameterDefinitions: - name: Message type: STRING default: Welcome to AWS Deadline Cloud! - name: InFile type: PATH objectType: FILE dataFlow: IN - name: OutFile type: PATH objectType: FILE dataFlow: OUT steps: - name: WelcomeToDeadlineCloud script: actions: onRun: command: '{{Task.File.Run}}' embeddedFiles: - name: Run type: TEXT runnable: true data: | #!/usr/bin/env bash echo "{{Param.Message}}" # hash the input file, and write that to the output sha256sum "{{Param.InFile}}" > "{{Param.OutFile}}"
nota
Si desea ajustar el espaciado
template.yaml
, asegúrese de utilizar espacios en lugar de hendiduras. -
Guarde el archivo y salga del editor de texto.
-
-
Proporcione los valores de los parámetros de los archivos de entrada y salida para enviar el simple_file_job.
deadline bundle submit simple_file_job \ -p "InFile=simple_job/template.yaml" \ -p "OutFile=hash.txt"
-
Imprima la información sobre el trabajo.
deadline job get
-
Verá un resultado como el siguiente:
parameters: Message: string: Welcome to AWS Deadline Cloud! InFile: path: /local/home/cloudshell-user/BundleFiles/JobBundle-Examples/simple_job/template.yaml OutFile: path: /local/home/cloudshell-user/BundleFiles/JobBundle-Examples/hash.txt
-
Aunque solo proporcionó rutas relativas, los parámetros tienen configurada la ruta completa. AWS CLI Une el directorio de trabajo actual a cualquier ruta que se proporcione como parámetro cuando las rutas tienen ese tipo
PATH
. -
El agente de trabajo que se encuentra en la otra ventana de la terminal recoge y ejecuta el trabajo. Esta acción crea el
hash.txt
archivo, que puede ver con el siguiente comando.cat hash.txt
Este comando imprimirá un resultado similar al siguiente.
eaa2df5d34b54be5ac34c56a24a8c237b8487231a607eaf530a04d76b89c9cd3 /local/home/cloudshell-user/BundleFiles/JobBundle-Examples/simple_job/template.yaml
-
Pasos a seguir a continuación
Después de aprender a enviar trabajos sencillos mediante la CLI de Deadline Cloud, puede explorar:
-
Envíe trabajos con adjuntos de trabajo en Deadline Cloudpara obtener información sobre cómo ejecutar trabajos en hosts que ejecutan diferentes sistemas operativos.
-
Agrega una flota gestionada por servicios a tu granja de desarrolladores en Deadline Cloudpara ejecutar tus trabajos en hosts gestionados por Deadline Cloud.
-
Limpia los recursos de tu granja en Deadline Cloudpara cerrar los recursos que utilizaste para este tutorial.