

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

# Trabalhos e estados de execução de trabalhos
<a name="iot-jobs-lifecycle"></a>

As seções a seguir descrevem o ciclo de vida de um AWS IoT trabalho e o ciclo de vida de uma execução do trabalho.

## Estados do trabalho
<a name="iot-jobs-states"></a>

O diagrama a seguir mostra os diferentes estados de um AWS IoT trabalho.

![Imagem mostrando os diferentes estados de um AWS IoT trabalho.](http://docs.aws.amazon.com/pt_br/iot/latest/developerguide/images/job-states-diagram.png)


Um trabalho que você cria usando AWS IoT Jobs pode estar em um dos seguintes estados:
+ 

**SCHEDULED**  
Durante a criação inicial do trabalho ou do modelo de trabalho usando o AWS IoT console, [CreateJob](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJob.html)a [CreateJobTemplate](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJobTemplate.html)API ou a API, você pode selecionar a configuração de agendamento opcional no AWS IoT console ou `SchedulingConfig` na [CreateJob](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJob.html)API ou [CreateJobTemplate](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJobTemplate.html)API. Quando você inicia um trabalho agendado contendo um determinado `startTime`, `endTime` e `endBehavior`, o status do trabalho é atualizado para `SCHEDULED`. Quando o trabalho atingir o `startTime` ou o `startTime` selecionado da próxima janela de manutenção (se você selecionou a distribuição do trabalho durante uma janela de manutenção), o status será atualizado de `SCHEDULED` para `IN_PROGRESS` e iniciará a distribuição do documento de trabalho em todos os dispositivos do grupo de destino.
+ 

**IN\_PROGRESS**  
Quando você cria um trabalho usando o AWS IoT console ou a [CreateJob](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJob.html)API, o status do trabalho é atualizado para`IN_PROGRESS`. Durante a criação do trabalho, o trabalho de AWS IoT começa a implementar execuções de trabalhos nos dispositivos do seu grupo de destino. Depois que todas as execuções de trabalhos forem distribuídas, o trabalho de AWS IoT espera que os dispositivos concluam a ação remota. 

  Para obter informações sobre simultaneidade e limites que se aplicam a trabalhos em andamento, consulte. [AWS IoT Limites de trabalhos](job-limits.md)
**nota**  
Quando um trabalho `IN_PROGRESS` chegar ao final da janela de manutenção atual, a distribuição do documento do trabalho será interrompida. O trabalho será atualizado para `SCHEDULED` até a `startTime` da próxima janela de manutenção.
+ 

**CONCLUÍDO**  
Um trabalho contínuo é processado de uma das seguintes maneiras:
  + Para um trabalho contínuo *sem* a configuração de agendamento opcional selecionada, ele está sempre em andamento e continua sendo executado em todos os novos dispositivos adicionados ao grupo de destino. Nunca alcançará um estado de status de `COMPLETED`.
  + Para um trabalho contínuo *com* a configuração de agendamento opcional selecionada, o seguinte é verdadeiro:
    + Se um `endTime` *foi* fornecido, um trabalho contínuo alcançará o status `COMPLETED` quando o `endTime` for aprovado e todas as execuções do trabalho tenham atingido um estado de status terminal.
    + Se um `endTime` *não tiver sido* fornecido na configuração de agendamento opcional, o trabalho contínuo continuará executando a distribuição do documento de trabalho.

Para um trabalho de snapshot, o status do trabalho muda para `COMPLETED` quando todas as execuções do trabalho entram em um estado terminal, como `SUCCEEDED`, `FAILED`, `TIMED_OUT`, `REMOVED` ou `CANCELED`.
+ 

**CANCELED**  
Quando você cancela um trabalho usando o AWS IoT console, a [CancelJob](https://docs.aws.amazon.com/iot/latest/apireference/API_CancelJob.html)API ou o[Configuração de anulação de trabalho](jobs-configurations-details.md#job-abort-using), o status do trabalho muda para`CANCELED`. Durante o cancelamento do trabalho, o AWS IoT Jobs começa a cancelar as execuções de tarefas criadas anteriormente.

  Para obter informações sobre simultaneidade e limites que se aplicam a trabalhos que estão sendo cancelados, consulte [AWS IoT Limites de trabalhos](job-limits.md).
+ 

**DELETION\_IN\_PROGRESS**  
Quando você exclui um trabalho usando o AWS IoT console ou a [DeleteJob](https://docs.aws.amazon.com/iot/latest/apireference/API_DeleteJob.html)API, o status do trabalho muda para`DELETION_IN_PROGRESS`. Durante a exclusão do trabalho, o AWS IoT Jobs começa a excluir execuções de trabalhos criados anteriormente. Depois que todas as execuções de tarefas forem excluídas, a tarefa desaparecerá da sua AWS conta.

## Estados de execução de trabalho
<a name="iot-job-execution-states"></a>

A tabela a seguir mostra os diferentes estados da execução de um AWS IoT trabalho e se a alteração de estado é iniciada pelo dispositivo ou pelos AWS IoT Jobs.


**Estados e origem da execução do trabalho**  

| Estado de execução do trabalho | Iniciado pelo dispositivo? | Iniciado por AWS IoT Jobs? | Status do terminal? | Pode ser tentado novamente? | 
| --- | --- | --- | --- | --- | 
| QUEUED | Não | Sim | Não | Não aplicável | 
| IN\_PROGRESS | Sim | Não | Não | Não aplicável | 
| SUCCEEDED | Sim | Não | Sim | Não aplicável | 
| FAILED | Sim | Não | Sim | Sim | 
| TIMED\_OUT | Não | Sim | Sim | Sim | 
| REJECTED | Sim | Não | Sim | Não | 
| REMOVED | Não | Sim | Sim | Não | 
| CANCELED | Não | Sim | Sim | Não | 

A seção a seguir descreve mais sobre os estados de execução de um trabalho que é implementado quando você cria um trabalho com AWS IoT Jobs.
+ 

**QUEUED**  
Quando AWS IoT Jobs lança uma execução de trabalho para um dispositivo de destino, o status de execução do trabalho é definido como`QUEUED`. A execução do trabalho permanece no estado `QUEUED` até:
  + Seu dispositivo receber a execução do trabalho, invocar as operações da API de trabalho e relatar o status como `IN_PROGRESS`.
  + Você cancelar o trabalho ou a execução do trabalho, ou quando os critérios de cancelamento especificados são atendidos e o status muda para `CANCELED`.
  + Seu dispositivo ser removido do grupo de destino e o status mudar para `REMOVED`.  
![Imagem mostrando como a execução de um trabalho em fila muda o estado para IN_PROGRESS e como um trabalho pode ser REJECTED se o dispositivo não aceitar a solicitação de criação do trabalho.](http://docs.aws.amazon.com/pt_br/iot/latest/developerguide/images/JE-queued-inprogress.png)
+ 

**IN\_PROGRESS**  
Se seu dispositivo de IoT assinar o reservado [Tópicos de trabalhos](reserved-topics.md#reserved-topics-job) `$notify` e `$notify-next` invocar a `StartNextPendingJobExecution` API ou a `UpdateJobExecution` API com um status de`IN_PROGRESS`, AWS IoT Jobs definirá o status de execução do trabalho como. `IN_PROGRESS`

  A API `UpdateJobExecution` pode ser invocada várias vezes com o status de `IN_PROGRESS`. Você pode especificar detalhes adicionais sobre as etapas de execução usando o objeto `statusDetails`.
**nota**  
Se você criar várias tarefas para cada dispositivo, as AWS IoT tarefas e o protocolo MQTT não garantem a ordem de entrega.
+ 

**SUCCEEDED**  
Quando seu dispositivo conclui com êxito a operação remota, ele deve invocar a `UpdateJobExecution` API com o status de `SUCCEEDED` para indicar que a execução do trabalho foi bem-sucedida. AWS IoT Em seguida, os trabalhos atualizam e retornam o status de execução do trabalho como`SUCCEEDED`.   
![Imagem mostrando como a execução de um trabalho em andamento pode falhar e como repetir a execução.](http://docs.aws.amazon.com/pt_br/iot/latest/developerguide/images/JE-success-path.png)
+ 

**FAILED**  
Quando seu dispositivo não consegue concluir a operação remota, ele deve invocar a `UpdateJobExecution` API com o status de `Failed` para indicar que a execução do trabalho falhou. AWS IoT Em seguida, os trabalhos atualizam e retornam o status de execução do trabalho como`Failed`. Você pode repetir a execução desse trabalho para o dispositivo usando o. [Configuração de repetição de execução de trabalho](jobs-configurations-details.md#job-retry-configuration)  
![Imagem mostrando como a execução de um trabalho em andamento pode falhar e como repetir a execução.](http://docs.aws.amazon.com/pt_br/iot/latest/developerguide/images/JE-inprogress-failed.png)
+ 

**TEMPORIZADO\_LIMITE**  
Quando seu dispositivo não consegue concluir uma etapa do trabalho quando o status é`IN_PROGRESS`, ou quando não consegue concluir a operação remota dentro do tempo limite do cronômetro em andamento, o AWS IoT Jobs define o status de execução do trabalho como. `TIMED_OUT` Você também tem um temporizador para cada etapa de um trabalho em andamento e se aplica somente à execução do trabalho. A duração do temporizador em andamento é especificada usando a propriedade `inProgressTimeoutInMinutes` do [Configuração de tempo limite de execução de trabalhos](jobs-configurations-details.md#job-timeout-configuration). Você pode repetir a execução desse trabalho para o dispositivo usando o. [Configuração de repetição de execução de trabalho](jobs-configurations-details.md#job-retry-configuration)  
![Imagem mostrando como a execução de um trabalho em andamento pode atingir o tempo limite e como repetir a execução.](http://docs.aws.amazon.com/pt_br/iot/latest/developerguide/images/JE-inprogress-timedout.png)
+ 

**REJEITADO**  
Quando seu dispositivo recebe uma solicitação inválida ou incompatível, ele deve invocar a `UpdateJobExecution` API com o status de. `REJECTED` AWS IoT Em seguida, os trabalhos atualizam e retornam o status de execução do trabalho como`REJECTED`.
+ 

**REMOVIDO**  
Quando seu dispositivo não é mais um destino válido para a execução do trabalho, como quando está separado de um grupo dinâmico de objetos, o trabalho de AWS IoT define o status de execução do trabalho como `REMOVED`. Você pode reconectar o item ao seu grupo de destino e reiniciar a execução do trabalho no dispositivo.
+ 

**CANCELED**  
Quando você cancela um trabalho ou cancela a execução de um trabalho usando o console ou a `CancelJobExecution` API, `CancelJob` ou quando os critérios de cancelamento especificados usando o [Configuração de anulação de trabalho](jobs-configurations-details.md#job-abort-using) são atendidos, AWS IoT Jobs cancela o trabalho e define o status de execução do trabalho como. `CANCELED`