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.
Enviar con Deadline Cloud
Para ejecutar trabajos de Deadline Cloud en los hosts de sus trabajadores, debe crear y usar 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.
Antes de poder seguir los procedimientos de esta sección, debe completar lo siguiente:
Para usar AWS Deadline Cloud para ejecutar trabajos, utilice los procedimientos siguientes. Usa la primera AWS CloudShell pestaña para enviar trabajos a tu granja de desarrolladores. Usa la segunda CloudShell pestaña para ver los resultados del agente de trabajo.
Temas
Envíe el simple_job ejemplo
Después de crear una granja y ejecutar el agente de trabajo, puede enviar la simple_job muestra a Deadline Cloud.
Para enviar el simple_job muestra para Deadline Cloud
-
Elige tu primera CloudShell pestaña.
-
Descarga el ejemplo desde GitHub.
cd ~ git clone https://github.com/aws-deadline/deadline-cloud-samples.git -
Navegue hasta el directorio de ejemplos del paquete de trabajos.
cd ~/deadline-cloud-samples/job_bundles/ -
Envíe la simple_job muestra.
deadline bundle submit simple_job -
Seleccione la segunda CloudShell pestaña para ver el resultado del registro sobre las llamadas
BatchGetJobEntities, la creació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 consulte su contenido.
cd ~/demoenv-logs ls -
Imprima el primer archivo de registro que crea el agente de trabajo.
cat worker-agent-bootstrap.logEste archivo contiene los resultados de un agente de trabajo sobre cómo llamó a la API de Deadline Cloud para crear un recurso de trabajadores en su flota y, a continuación, asumió la función de flota.
-
Imprima el resultado del archivo de registro cuando el agente trabajador se una a la flota.
cat worker-agent.logEste 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 los ID de esos recursos.
-
Imprime los archivos de registro de cada sesión en un directorio con el mismo nombre que el identificador del recurso de la cola.
cat $DEV_QUEUE_ID/session-*.logSi 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 getAl enviar el trabajo, el sistema lo guarda de forma predeterminada para que no tenga que introducir el identificador del trabajo.
Envía un simple_job con un parámetro
Puede enviar trabajos con parámetros. En el procedimiento siguiente, editará la simple_job plantilla para incluir un mensaje personalizado, lo enviará y, a continuaciónsimple_job, imprimirá 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 del paquete de trabajos.
cd ~/deadline-cloud-samples/job_bundles/ -
Imprima el contenido de la simple_job plantilla.
cat simple_job/template.yamlLa
parameterDefinitionssección con elMessageparámetro debería tener el siguiente aspecto:parameterDefinitions: - name: Message type: STRING default: Welcome to AWS Deadline Cloud! -
Envíe el simple_job ejemplo con 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 un archivo I/O
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 un archivo I/O
-
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_jobcon 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 siga nano estos pasos. Si prefieres usarloVim, debes configurar su modo de pegado usando
:set paste.-
Abre la plantilla en un editor de texto.
nano simple_file_job/template.yaml -
Agregue lo siguiente
typeobjectType, ydataFlowparameterDefinitions.- name: InFile type: PATH objectType: FILE dataFlow: IN - name: OutFile type: PATH objectType: FILE dataFlow: OUT -
Añada el siguiente comando de
bashscript al final del archivo que lee desde el archivo de entrada y escribe en el archivo de salida.# hash the input file, and write that to the outputsha256sum "{{Param.InFile}}" > "{{Param.OutFile}}"La actualización
template.yamldebe 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 en
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 para 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 ha proporcionado rutas relativas, los parámetros tienen la ruta completa establecida. AWS CLI Une el directorio de trabajo actual con las rutas que se proporcionan como parámetros cuando las rutas tienen ese tipo
PATH. -
El agente de trabajo que se ejecuta en la otra ventana del terminal recoge y ejecuta el trabajo. Esta acción crea el
hash.txtarchivo, que puede ver con el siguiente comando.cat hash.txtEste comando imprimirá un resultado similar al siguiente.
eaa2df5d34b54be5ac34c56a24a8c237b8487231a607eaf530a04d76b89c9cd3 /local/home/cloudshell-user/BundleFiles/JobBundle-Examples/simple_job/template.yaml
-
Siguientes pasos
Tras aprender a enviar trabajos sencillos mediante la CLI de Deadline Cloud, puede explorar:
-
Envíe trabajos con adjuntos de trabajo en Deadline Cloudpara aprender a ejecutar trabajos en hosts que ejecutan diferentes sistemas operativos.
-
Agrega una flota gestionada por servicios a tu granja de desarrolladores en Deadline Cloudpara ejecutar sus trabajos en servidores gestionados por Deadline Cloud.
-
Limpia los recursos de tu granja en Deadline Cloudpara cerrar los recursos que utilizaste en este tutorial.