

# Lógica de controle de utilização do serviço do Amazon ECS
<a name="service-throttle-logic"></a>

O agendador de serviços do Amazon ECS inclui uma lógica protetiva que controla a utilização das inicializações de tarefas quando elas apresentam falhas repetidas na inicialização. Isso ajuda a evitar o consumo desnecessário de recursos e reduz os custos.

Quando as tarefas em um serviço não conseguem passar do estado `PENDING` para o estado `RUNNING` e, em vez disso, passam diretamente para `STOPPED`, o agendador:
+ Aumenta incrementalmente o tempo entre as tentativas de reinicialização
+ Continua aumentando os atrasos até um máximo de 27 minutos entre as tentativas
+ Gera uma mensagem de evento de serviço para notificar você sobre o problema

**nota**  
O período máximo de atraso de 27 minutos poderá mudar em futuras atualizações.

Quando controle de utilização é habilitado, você recebe esta mensagem de evento de serviço:

```
(service service-name) is unable to consistently start tasks successfully.
```

Características importantes da lógica de controle de utilização:
+ Os serviços continuam tentando novamente indefinidamente
+ A única modificação é o aumento do tempo entre as reinicializações
+ Não há parâmetros configuráveis pelo usuário

## Resolução de problemas de controle de utilização
<a name="resolving-throttling"></a>

Para resolver o controle de utilização, você pode:
+ Atualizar o serviço para usar uma nova definição de tarefa, o que retornará o serviço imediatamente à operação normal e sem controle de utilização. Para obter mais informações, consulte [Atualizar um serviço do Amazon ECS](update-service-console-v2.md).
+ Resolva a causa subjacente das falhas da tarefa.

As causas comuns de falhas de tarefas que acionam o controle de utilização incluem:
+ Recursos de cluster insuficientes (portas, memória ou CPU)
  + Indicado por uma [mensagem de evento de serviço de recursos insuficientes](service-event-messages-list.md#service-event-messages-1)
+ Falhas na extração de imagens do contêiner
  + Pode ser causado por nomes de imagens inválidos, tags ou permissões insuficientes
  + Resulta em `CannotPullContainerError` em [Visualizar erros de tarefa interrompida do Amazon ECS](stopped-task-errors.md)
+ Espaço em disco insuficiente
  + Resulta em `CannotCreateContainerError` em [erros de tarefas interrompidas](stopped-task-errors.md)
  + Para conferir as etapas de resolução, consulte [Solução de problemas relacionados a `API error (500): devmapper` do Docker no Amazon ECS](CannotCreateContainerError.md)

**Importante**  
Os seguintes cenários NÃO acionam a lógica de controle de utilização:  
Tarefas que são interrompidas após atingirem o estado `RUNNING`
Tarefas interrompidas devido a falhas nas verificações de integridade do Elastic Load Balancing
Tarefas em que o comando do contêiner sai com um código diferente de zero após atingir o estado `RUNNING`