

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

# Crie limites de recursos para trabalhos
<a name="build-job-limits"></a>

Os trabalhos enviados ao Deadline Cloud podem depender de recursos compartilhados entre vários trabalhos. Por exemplo, uma fazenda pode ter mais trabalhadores do que licenças flutuantes para um recurso específico. Ou um servidor de arquivos compartilhado pode ser capaz de fornecer dados apenas para um número limitado de trabalhadores ao mesmo tempo. Em alguns casos, um ou mais trabalhos podem reivindicar todos esses recursos, causando erros devido à indisponibilidade de recursos quando novos trabalhadores são contratados. 

Para ajudar a resolver isso, você pode usar *limites* para esses recursos restritos. O Deadline Cloud considera a disponibilidade de recursos restritos e usa essas informações para garantir que os recursos estejam disponíveis à medida que novos funcionários são iniciados, para que os trabalhos tenham uma probabilidade menor de falhar devido à indisponibilidade de recursos.

Os limites são criados para toda a fazenda. Os trabalhos enviados a uma fila só podem adquirir limites associados à fila. Se você especificar um limite para um trabalho que não esteja associado à fila, o trabalho não será compatível e não será executado.

Para usar um limite, você 
+ [Crie um limite](job-limit-create.md)
+ [Associar um limite e uma fila](job-limit-associate.md)
+ [Envie um trabalho que exija limites](job-limit-job.md)

**nota**  
Se você executar um trabalho que tenha recursos restringidos em uma fila que não esteja associada a um limite, esse trabalho poderá consumir todos os recursos. Se você tiver um recurso restrito, certifique-se de que todas as etapas em trabalhos em filas que usam o recurso estejam associadas a um limite.

Para limites definidos em uma fazenda, associados a uma fila e especificados em um trabalho, uma das quatro coisas pode acontecer:
+ Se você criar um limite, associá-lo a uma fila e especificar o limite no modelo de um trabalho, o trabalho será executado e usará somente os recursos definidos no limite.
+ Se você criar um limite, especificá-lo em um modelo de trabalho, mas não associar o limite a uma fila, o trabalho será marcado como incompatível e não será executado.
+ Se você criar um limite, não o associar a uma fila e não especificar o limite no modelo de um trabalho, o trabalho será executado, mas não usará o limite.
+ Se você não usar nenhum limite, o trabalho será executado.

Se você associar um limite a várias filas, as filas compartilharão os recursos restringidos pelo limite. Por exemplo, se você criar um limite de 100 e uma fila estiver usando 60 recursos, outras filas poderão usar somente 40 recursos. Quando um recurso é liberado, ele pode ser usado por uma tarefa de qualquer fila.

O Deadline Cloud fornece duas AWS CloudFormation métricas para ajudar você a monitorar os recursos fornecidos por um limite. Você pode monitorar o número atual de recursos em uso e o número máximo de recursos disponíveis no limite. Para obter mais informações, consulte [Métricas de limite de recursos](https://docs.aws.amazon.com/deadline-cloud/latest/developerguide/cloudwatch-metrics.html#cloudwatch-metrics-limits) no *Guia do desenvolvedor do Deadline Cloud*.

Você aplica um limite a uma etapa do trabalho em um modelo de trabalho. Quando você especifica o nome da exigência de quantidade de um limite na `amounts` seção `hostRequirements` de uma etapa e um limite com o mesmo `amountRequirementName` é associado à fila do trabalho, as tarefas agendadas para essa etapa são restringidas pelo limite do recurso.

Se uma etapa exigir um recurso limitado por um limite atingido, as tarefas dessa etapa não serão realizadas por funcionários adicionais.

Você pode aplicar mais de um limite a uma etapa do trabalho. Por exemplo, se a etapa usar duas licenças de software diferentes, você poderá aplicar um limite separado para cada licença. Se uma etapa exigir dois limites e o limite de um dos recursos for atingido, as tarefas dessa etapa não serão realizadas por outros trabalhadores até que os recursos estejam disponíveis.

## Interrompendo e excluindo limites
<a name="job-limit-stop-delete"></a>

Quando você interrompe ou exclui a associação entre uma fila e um limite, um trabalho usando o limite interrompe o agendamento de tarefas a partir de etapas que exigem esse limite e bloqueia a criação de novas sessões para uma etapa.

As tarefas que estão no estado PRONTO permanecem prontas e as tarefas são retomadas automaticamente com a associação entre a fila e o limite se tornam ativas novamente. Você não precisa recolocar nenhum trabalho na fila.

Ao interromper ou excluir a associação entre uma fila e um limite, você tem duas opções sobre como interromper a execução de tarefas:
+ Pare e cancele tarefas — os trabalhadores com sessões que atingiram o limite cancelam todas as tarefas.
+ Pare e conclua as tarefas em execução — os trabalhadores com sessões que atingiram o limite concluem suas tarefas.

Quando você exclui um limite usando o console, os trabalhadores primeiro param de executar tarefas imediatamente ou, eventualmente, quando elas são concluídas. Quando a associação é excluída, acontece o seguinte: 
+ As etapas que exigem o limite estão marcadas como não compatíveis.
+ Todo o trabalho contendo essas etapas é cancelado, incluindo etapas que não exigem o limite.
+ O trabalho está marcado como não compatível.

Se a fila associada ao limite tiver uma frota associada com uma capacidade de frota que corresponda ao nome da exigência de quantidade do limite, essa frota continuará processando trabalhos com o limite especificado.

# Crie um limite
<a name="job-limit-create"></a>

Você cria um limite usando o console do Deadline Cloud ou a [CreateLimit operação na API Deadline Cloud](https://docs.aws.amazon.com/deadline-cloud/latest/APIReference/API_CreateLimit.html). Os limites são definidos para uma fazenda, mas associados às filas. Depois de criar um limite, você pode associá-lo a uma ou mais filas.

**Para criar um limite**

1. No painel do console do [Deadline Cloud (console](https://console.aws.amazon.com/deadlinecloud/home) do Deadline Cloud), selecione a fazenda para a qual você deseja criar uma fila.

1. Escolha a fazenda à qual adicionar o limite, escolha a guia **Limites** e, em seguida, escolha **Criar limite**.

1. Forneça os detalhes do limite. O **nome do requisito de valor** é o nome usado no modelo de trabalho para identificar o limite. Ele deve começar com o prefixo **amount.** seguido pelo nome do valor. O nome do requisito de quantia deve ser exclusivo nas filas associadas ao limite.

1. Se você escolher **Definir um valor máximo**, esse será o número total de recursos permitidos por esse limite. Se você escolher **Sem quantidade máxima**, o uso de recursos não será limitado. Mesmo quando o uso de recursos não é limitado, a CloudWatch métrica da `CurrentCount` Amazon é emitida para que você possa acompanhar o uso. Para obter mais informações, consulte [CloudWatchas métricas](https://docs.aws.amazon.com/deadline-cloud/latest/developerguide/cloudwatch-metrics.html) no *Guia do desenvolvedor do Deadline Cloud*.

1. Se você já conhece as filas que devem usar o limite, você pode escolhê-las agora. Você não precisa associar uma fila para criar um limite.

1. Escolha **Criar limite**.

# Associar um limite e uma fila
<a name="job-limit-associate"></a>

Depois de criar um limite, você pode associar uma ou mais filas ao limite. Somente as filas associadas a um limite usam os valores especificados no limite.

Você cria uma associação com uma fila usando o console do Deadline Cloud ou a [CreateQueueLimitAssociation operação na API do Deadline Cloud](https://docs.aws.amazon.com/deadline-cloud/latest/APIReference/API_CreateQueueLimitAssociation.html).

**Para associar uma fila a um limite**

1. No painel do console do [Deadline Cloud (console](https://console.aws.amazon.com/deadlinecloud/home) do Deadline Cloud), selecione a fazenda em que você deseja associar um limite a uma fila.

1. Escolha a guia **Limites**, escolha o limite ao qual associar uma fila e escolha **Editar limite**.

1. Na seção **Associar filas**, escolha as filas a serem associadas ao limite.

1. Escolha **Salvar alterações**.

# Envie um trabalho que exija limites
<a name="job-limit-job"></a>

Você aplica um limite especificando-o como um requisito de host para o trabalho ou etapa do trabalho. Se você não especificar um limite em uma etapa e essa etapa usar um recurso associado, o uso da etapa não será contabilizado no limite quando os trabalhos forem agendados.

Alguns remetentes do Deadline Cloud permitem que você defina um requisito de anfitrião. Você pode especificar o nome do requisito de valor do limite no remetente para aplicar o limite.

Se o remetente não aceitar a adição de requisitos de hospedagem, você também pode aplicar um limite editando o modelo de trabalho para o trabalho.

**Para aplicar um limite a uma etapa do trabalho no pacote de tarefas**

1. Abra o modelo de trabalho para o trabalho usando um editor de texto. O modelo de trabalho está localizado no diretório do pacote de tarefas do trabalho. Para obter mais informações, consulte [Pacotes de tarefas](https://docs.aws.amazon.com/deadline-cloud/latest/developerguide/build-job-bundle.html) no *Guia do desenvolvedor do Deadline Cloud*.

1. Encontre a definição da etapa à qual aplicar o limite.

1. Adicione o seguinte à definição da etapa. *amount.name*Substitua pelo nome do valor exigido do seu limite. Para uso típico, você deve definir o `min` valor como 1.

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

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

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

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

------

   Você pode adicionar vários limites a uma etapa do trabalho da seguinte maneira. Substitua *amount.name\$11* e *amount.name\$12* pelos nomes dos requisitos de valor de seus limites.

------
#### [ 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. Salve as alterações no modelo de trabalho.