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.
Trabajos y estados de ejecución de los trabajos
En las siguientes secciones se describe el ciclo de vida de un AWS IoT trabajo y el ciclo de vida de la ejecución de un trabajo.
Estados de trabajo
El siguiente diagrama muestra los diferentes estados de un AWS IoT trabajo.
Un trabajo que cree con AWS IoT Jobs puede estar en uno de los siguientes estados:
-
SCHEDULED
Durante la creación inicial del trabajo o de la plantilla de trabajo mediante la AWS IoT consola CreateJobAPICreateJobTemplateAPI, o bien, puede seleccionar la configuración de programación opcional en la AWS IoT consola o
SchedulingConfig
en el CreateJobAPIo CreateJobTemplateAPI. Al iniciar un trabajo programado que contiene unstartTime
,endTime
yendBehavoir
específicos y el estado del trabajo se actualiza aSCHEDULED
. Cuando el trabajo llegue alstartTime
seleccionado o alstartTime
del siguiente periodo de mantenimiento (si seleccionó el despliegue del trabajo durante dicho periodo), el estado se actualizará deSCHEDULED
aIN_PROGRESS
y comenzará a desplegarse el documento de trabajo en todos los dispositivos del grupo de destino. -
EN_ PROGRESS
Al crear un trabajo mediante la AWS IoT consola o el CreateJobAPI, el estado del trabajo se actualiza a
IN_PROGRESS
. Durante la creación del trabajo, Jobs de AWS IoT comienza a desplegar las ejecuciones de trabajo en los dispositivos del grupo de destino. Una vez desplegadas todas las ejecuciones de trabajo, Jobs de AWS IoT espera a que los dispositivos completen la acción remota.Para obtener información sobre la simultaneidad y los límites que se aplican a los trabajos en curso, consulte Límites de los trabajos.
nota
Cuando un trabajo de
IN_PROGRESS
llegue al final del periodo de mantenimiento actual, se detendrá el despliegue del documento del trabajo. El trabajo se actualizaráSCHEDULED
hasta elstartTime
del siguiente periodo de mantenimiento. -
COMPLETED
Un trabajo continuo se gestiona de una de las siguientes formas:
-
En el caso de un trabajo continuo sin la configuración de programación opcional seleccionada, siempre está en curso y sigue ejecutándose para cualquier dispositivo nuevo que se añada al grupo de destino. Nunca alcanzará el estado
COMPLETED
. -
En el caso de un trabajo continuo con la configuración de programación opcional seleccionada, se cumple lo siguiente:
-
Si se ha proporcionado un
endTime
, un trabajo continuo alcanzará el estadoCOMPLETED
cuando elendTime
haya pasado y todas las ejecuciones de trabajos hayan alcanzado un estado terminal. -
Si no se ha proporcionado un
endTime
en la configuración de programación opcional, el trabajo continuo seguirá realizando el despliegue del documento de trabajo.
-
En el caso de un trabajo instantáneo, el estado del trabajo cambia a
COMPLETED
cuando todas sus ejecuciones pasan a un estado terminal, comoSUCCEEDED
,FAILED
,TIMED_OUT
,REMOVED
oCANCELED
. -
-
CANCELED
Al cancelar un trabajo mediante la AWS IoT consola CancelJobAPI, el o el Configuración de anulación del trabajo estado del trabajo cambia a
CANCELED
. Durante la cancelación de un trabajo, AWS IoT Jobs comienza a cancelar las ejecuciones de trabajos creados anteriormente.Para obtener información sobre la simultaneidad y los límites que se aplican a los trabajos que se van a cancelar, consulte Límites de los trabajos.
-
DELETION_EN_ PROGRESS
Al eliminar un trabajo mediante la AWS IoT consola o el DeleteJobAPI, el estado del trabajo cambia a.
DELETION_IN_PROGRESS
Durante la eliminación de un trabajo, AWS IoT Jobs comienza a eliminar las ejecuciones de trabajos previamente creadas. Una vez eliminadas todas las ejecuciones de trabajos, el trabajo desaparece de su AWS cuenta.
Estados de ejecución de trabajos
En la siguiente tabla se muestran los diferentes estados de la ejecución de una AWS IoT tarea y si el cambio de estado lo inicia el dispositivo o AWS IoT Jobs.
Estado de ejecución de trabajos | ¿Iniciado por un dispositivo? | ¿Iniciado por AWS IoT Jobs? | ¿Estado terminal? | ¿Se puede reintentar? |
---|---|---|---|---|
QUEUED |
No | Sí | No | No aplicable |
IN_PROGRESS |
Sí | No | No | No aplicable |
SUCCEEDED |
Sí | No | Sí | No aplicable |
FAILED |
Sí | No | Sí | Sí |
TIMED_OUT |
No | Sí | Sí | Sí |
REJECTED |
Sí | No | Sí | No |
REMOVED |
No | Sí | Sí | No |
CANCELED |
No | Sí | Sí | No |
En la siguiente sección se describe más información sobre los estados de la ejecución de un trabajo que se implementa al crear un trabajo con AWS IoT Jobs.
-
QUEUED
Cuando AWS IoT Jobs despliega la ejecución de una tarea para un dispositivo de destino, el estado de ejecución de la tarea se establece en
QUEUED
. La ejecución del trabajo permanece en el estadoQUEUED
hasta que:-
El dispositivo recibe la ejecución de la tarea, invoca API las operaciones de la tarea e informa del estado como
IN_PROGRESS
. -
Se cancela el trabajo o la ejecución del trabajo, o cuando se cumplen los criterios de anulación especificados y el estado cambia a
CANCELED
. -
El dispositivo se elimina del grupo de destino y el estado cambia a
REMOVED
.
-
-
IN_ PROGRESS
Si su dispositivo IoT se suscribe a la reserva Temas de trabajos
$notify
y$notify-next
, y su dispositivo invoca elStartNextPendingJobExecution
API o elUpdateJobExecution
API con un estado deIN_PROGRESS
, AWS IoT Jobs establecerá el estado de ejecución del trabajo en.IN_PROGRESS
Se
UpdateJobExecution
API puede invocar varias veces con un estado de.IN_PROGRESS
Puede especificar detalles adicionales sobre los pasos de ejecución mediante el objetostatusDetails
.nota
Si creas varios trabajos para cada dispositivo, AWS IoT Jobs y el MQTT protocolo no garantizan el orden de entrega.
-
SUCCEEDED
Cuando el dispositivo complete correctamente la operación remota, deberá invocar el
UpdateJobExecution
API con un estado igualSUCCEEDED
a para indicar que la ejecución del trabajo se ha realizado correctamente. AWS IoT A continuación, Jobs actualiza y devuelve el estado de ejecución del trabajo comoSUCCEEDED
. -
FAILED
Si el dispositivo no puede completar la operación remota, debe invocar el
UpdateJobExecution
API con un estado igualFailed
a para indicar que se ha producido un error en la ejecución de la tarea. AWS IoT A continuación, Jobs actualiza y devuelve el estado de ejecución del trabajo comoFailed
. Mediante la Configuración de reintento de ejecución de trabajos se puede reintentar la ejecución de este trabajo en el dispositivo. -
TIMED_OUT
Cuando el dispositivo no puede completar un paso de la tarea en el estado en que se encuentra
IN_PROGRESS
, o cuando no completa la operación remota dentro del tiempo de espera del temporizador en curso, AWS IoT Jobs establece el estado de ejecución de la tarea en.TIMED_OUT
También se dispone de un temporizador de pasos para cada paso de un trabajo en curso, que solo se aplica a la ejecución del trabajo. La duración del temporizador en curso se especifica mediante la propiedadinProgressTimeoutInMinutes
de la Configuración del tiempo de espera de las ejecuciones de trabajo. Mediante la Configuración de reintento de ejecución de trabajos se puede reintentar la ejecución de este trabajo en el dispositivo. -
REJECTED
Cuando el dispositivo reciba una solicitud no válida o incompatible, deberá invocarla
UpdateJobExecution
API con un estado igual a.REJECTED
AWS IoT A continuación, Jobs actualiza y devuelve el estado de ejecución del trabajo comoREJECTED
. -
REMOVED
Cuando el dispositivo deja de ser un destino válido para la ejecución del trabajo, por ejemplo, cuando está separado de un grupo de objetos dinámico, Jobs de AWS IoT establece el estado de ejecución del trabajo en
REMOVED
. Puede volver a asociar el dispositivo al grupo de destino y reiniciar la ejecución del trabajo en el dispositivo. -
CANCELED
Al cancelar un trabajo o cancelar la ejecución de un trabajo mediante la consola o el o
CancelJobExecution
API,CancelJob
o cuando se cumplen los criterios de anulación especificados mediante elConfiguración de anulación del trabajo, AWS IoT Jobs cancela el trabajo y establece el estado de ejecución del trabajo en.CANCELED