

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íe un trabajo que requiera límites
<a name="job-limit-job"></a>

Para aplicar un límite, debe especificarlo como requisito del anfitrión para el trabajo o la etapa del trabajo. Si no especificas un límite en un paso y ese paso usa un recurso asociado, el uso del paso no se tiene en cuenta en el límite cuando se programan los trabajos.

Algunos remitentes de Deadline Cloud te permiten establecer un requisito de anfitrión. Puedes especificar el nombre del requisito de importe del límite en el remitente para aplicar el límite.

Si el remitente no admite la adición de requisitos de anfitrión, también puedes aplicar un límite editando la plantilla de trabajo para el trabajo.

**Para aplicar un límite a un paso del trabajo en el paquete de trabajos**

1. Abra la plantilla de trabajo para el trabajo mediante un editor de texto. La plantilla de trabajo se encuentra en el directorio de paquetes de trabajos del trabajo. Para obtener más información, consulte los paquetes de [ trabajos ](https://docs.aws.amazon.com/deadline-cloud/latest/developerguide/build-job-bundle.html) en la Guía * para desarrolladores de * Deadline Cloud.

1. Busque la definición del paso al que se debe aplicar el límite.

1. Agregue lo siguiente a la definición del paso. {{amount.name}}Sustitúyalo por el nombre de su límite por el requisito de importe. Para un uso normal, debes establecer el `min` valor en 1.

------
#### [ YAML ]

   ```
     hostRequirements:
       amounts:
       - name: amount.{{name}}
         min: 1
   ```

------
#### [ JSON ]

   ```
   "hostRequirements": {
       "amounts": [
           {
               "name": "{{amount.name}}",
               "min": "1"
           }
       ]
   }
   ```

------

   Puede agregar varios límites a un paso de trabajo de la siguiente manera. Sustituya {{amount.name\_1}} {{amount.name\_2}} los nombres de sus límites por los requisitos de importe y por ellos.

------
#### [ YAML ]

   ```
     hostRequirements:
       amounts:
       - name: {{amount.name_1}}
         min: 1
       - name: {{amount.name_2}}
         min: 1
   ```

------
#### [ JSON ]

   ```
   "hostRequirements": {
       "amounts": [
           {
               "name": "amount.{{name_1}}",
               "min": "1"
           },
           {
               "name": "amount.{{name_2}}",
               "min": "1"
           }
       ]
   }
   ```

------

1. Guarda los cambios en la plantilla de trabajo.

## Automatice los límites con ganchos de envío
<a name="job-limit-hooks"></a>

Si quieres imponer límites a todas las ofertas de trabajo sin que los artistas tengan que editar manualmente las plantillas de trabajo, puedes usar un enlace [ previo ](https://github.com/aws-deadline/deadline-cloud/blob/mainline/docs/submission-hooks.md) a la presentación para incluir automáticamente el requisito del anfitrión en cada plantilla de trabajo en el momento de la presentación.

Un enlace previo a la presentación es un script que se ejecuta antes de enviar el trabajo. El enlace puede modificar el paquete de trabajos `template.yaml` para añadir la entrada de `hostRequirements` importes a su límite. Este enfoque garantiza que todos los trabajos enviados a través de la CLI o DCC de Deadline Cloud declaren que necesitan el recurso limitado.

Para ver un ejemplo práctico completo, consulte el ejemplo del enlace de envío de límites de [ licencia ](https://github.com/aws-deadline/deadline-cloud-samples/tree/mainline/submission_hooks/license_limits) en el repositorio de muestras de Deadline Cloud.

## End-to-end ejemplo: hacer cumplir los límites V-Ray de licencia
<a name="job-limit-example"></a>

En este ejemplo se muestra cómo configurar un límite para 5 licencias V-Ray flotantes y comprobar que el programador lo aplica.

**Para configurar y probar un V-Ray límite de licencia**

1. Crea el límite en tu granja:

   ```
   aws deadline create-limit \
       --farm-id {{farm-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX}} \
       --display-name "VRay License" \
       --amount-requirement-name "amount.vray" \
       --max-count 5
   ```

1. Asocia el límite a tu cola:

   ```
   aws deadline create-queue-limit-association \
       --farm-id {{farm-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX}} \
       --queue-id {{queue-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX}} \
       --limit-id {{limit-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX}}
   ```

1. Añade el requisito de anfitrión a tu plantilla de trabajo:

   ```
   specificationVersion: jobtemplate-2023-09
   name: My VRay Render
   parameterDefinitions:
     - name: SceneFile
       type: PATH
       objectType: FILE
       dataFlow: IN
   steps:
     - name: Render
       hostRequirements:
         amounts:
           - name: amount.vray
             min: 1
       script:
         actions:
           onRun:
             command: vray
             args: ["-scene", "{{Param.SceneFile}}"]
   ```

1. Envía el trabajo. El planificador permite que como máximo 5 tareas se `amount.vray` ejecuten simultáneamente en todos los trabajos de la cola. Las tareas adicionales permanecen en ese `READY` estado hasta que haya un espacio disponible.

Para comprobar que el límite funciona, establézcalo `maxCount` temporalmente en 1 y envíe dos trabajos. El primer trabajo se ejecuta mientras que el segundo permanece en ese `READY` estado hasta que finalice el primero.