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
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
O diagrama a seguir mostra os diferentes estados de um AWS IoT trabalho.
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 CreateJobAPI, CreateJobTemplateAPI, ou, você pode selecionar a configuração de agendamento opcional no AWS IoT console ou
SchedulingConfig
no CreateJobAPIou CreateJobTemplateAPI. Quando você inicia um trabalho agendado contendo um determinadostartTime
,endTime
, eendBehavoir
, o status do trabalho é atualizado paraSCHEDULED
. Quando o trabalho atingir ostartTime
ou ostartTime
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 deSCHEDULED
paraIN_PROGRESS
e iniciará a distribuição do documento de trabalho em todos os dispositivos do grupo de destino. -
EM_ PROGRESS
Quando você cria um trabalho usando o AWS IoT console ou o CreateJobAPI, 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. Limites de trabalhos
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 paraSCHEDULED
até astartTime
da próxima janela de manutenção. -
COMPLETED
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 statusCOMPLETED
quando oendTime
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, comoSUCCEEDED
,FAILED
,TIMED_OUT
,REMOVED
ouCANCELED
. -
-
CANCELED
Quando você cancela um trabalho usando o AWS IoT console CancelJobAPIConfiguração de anulação de trabalho, 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 Limites de trabalhos.
-
DELETION_EM_ PROGRESS
Quando você exclui um trabalho usando o AWS IoT console ou o DeleteJobAPI, 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 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.
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 estadoQUEUED
até:-
Seu dispositivo recebe a execução do trabalho, invoca as API operações do Jobs e relata 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
.
-
-
EM_ PROGRESS
Se seu dispositivo de IoT assinar o reservado Tópicos de trabalhos
$notify
e$notify-next
, e seu dispositivo invocar oStartNextPendingJobExecution
API ou oUpdateJobExecution
API com um status deIN_PROGRESS
, AWS IoT Jobs definirá o status de execução do trabalho como.IN_PROGRESS
O
UpdateJobExecution
API pode ser invocado várias vezes com o status deIN_PROGRESS
. Você pode especificar detalhes adicionais sobre as etapas de execução usando o objetostatusDetails
.nota
Se você criar vários trabalhos para cada dispositivo, os AWS IoT trabalhos e o MQTT protocolo não garantem a ordem de entrega.
-
SUCCEEDED
Quando seu dispositivo concluir com êxito a operação remota, o dispositivo deverá invocar o
UpdateJobExecution
API com o status deSUCCEEDED
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 comoSUCCEEDED
. -
FAILED
Quando o dispositivo não consegue concluir a operação remota, o dispositivo deve invocar o
UpdateJobExecution
API com o status deFailed
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 comoFailed
. Você pode repetir a execução desse trabalho para o dispositivo usando o. Configuração de repetição de execução de trabalho -
TIMED_OUT
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 propriedadeinProgressTimeoutInMinutes
do Configuração de tempo limite de execução de trabalhos. Você pode repetir a execução desse trabalho para o dispositivo usando o. Configuração de repetição de execução de trabalho -
REJECTED
Quando seu dispositivo recebe uma solicitação inválida ou incompatível, o dispositivo deve invocar o
UpdateJobExecution
API com o status de.REJECTED
AWS IoT Em seguida, os trabalhos atualizam e retornam o status de execução do trabalho comoREJECTED
. -
REMOVED
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 o
CancelJob
ouCancelJobExecution
API, ou quando os critérios de cancelamento especificados usando o Configuração de anulação de trabalho são atendidos, AWS IoT Jobs cancela o trabalho e define o status de execução do trabalho como.CANCELED