

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 un requisito de anfitrión para el trabajo o paso del trabajo. Si no especificas un límite en un paso y ese paso usa un recurso asociado, el uso del paso no se descuenta del límite cuando se programan los trabajos.

Algunos remitentes de Deadline Cloud te permiten establecer un requisito de anfitrión. Puede especificar el nombre del requisito de cantidad 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 correspondiente al trabajo.

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

1. Abra la plantilla de trabajo del trabajo mediante un editor de texto. La plantilla de trabajo se encuentra en el directorio del paquete de trabajos del trabajo. Para obtener más información, consulte [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. Busca la definición del paso al que quieres aplicar el límite.

1. Añada lo siguiente a la definición del paso. {{amount.name}}Sustitúyalo por el nombre del importe obligatorio de tu límite. Para un uso normal, debe establecer el `min` valor en 1.

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

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

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

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

------

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

------
#### [ 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. Guarde los cambios en la plantilla de trabajo.

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

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

Un enlace previo a la presentación es un guion que se ejecuta antes de enviar el trabajo. El gancho puede modificar el paquete de trabajos `template.yaml` para añadir los `hostRequirements` importes ingresados a tu límite. Este enfoque garantiza que cada trabajo enviado a través de los remitentes de CLI o DCC de Deadline Cloud declare que necesita un recurso limitado.

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

## End-to-end ejemplo: hacer cumplir los límites V-Ray de las licencias
<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 licencias**

1. Cree el límite en su 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ñada el requisito de anfitrión a su plantilla de trabajo:

   ```
   specificationVersion: jobtemplate-2023-09
   name: My VRay Render
   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 programador permite ejecutar un máximo de 5 tareas de `amount.vray` forma simultánea 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 tareas. El primer trabajo se ejecuta mientras que el segundo permanece en el `READY` estado hasta que se complete el primero.