Trabajos y estados de ejecución de los trabajos - AWS IoT Core

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.

Imagen que 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 un startTime, endTime y endBehavoir específicos y el estado del trabajo se actualiza a SCHEDULED. Cuando el trabajo llegue al startTime seleccionado o al startTime del siguiente periodo de mantenimiento (si seleccionó el despliegue del trabajo durante dicho periodo), el estado se actualizará de SCHEDULED a IN_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 aIN_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 el startTime 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 estado COMPLETED cuando el endTime 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, como SUCCEEDED, FAILED, TIMED_OUT, REMOVED o CANCELED.

  • 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 aCANCELED. 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.

Estados y origen de ejecución de trabajos
Estado de ejecución de trabajos ¿Iniciado por un dispositivo? ¿Iniciado por AWS IoT Jobs? ¿Estado terminal? ¿Se puede reintentar?
QUEUED No No No aplicable
IN_PROGRESS No No No aplicable
SUCCEEDED No No aplicable
FAILED No
TIMED_OUT No
REJECTED No No
REMOVED No No
CANCELED No 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 enQUEUED. La ejecución del trabajo permanece en el estado QUEUED hasta que:

    • El dispositivo recibe la ejecución de la tarea, invoca API las operaciones de la tarea e informa del estado comoIN_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.

    Imagen que muestra cómo la ejecución de un trabajo en cola cambia de estado a IN_ PROGRESS y cómo puede pasar un trabajo REJECTED si el dispositivo no acepta la solicitud de creación de trabajo.
  • IN_ PROGRESS

    Si su dispositivo IoT se suscribe a la reserva Temas de trabajos $notify y$notify-next, y su dispositivo invoca el StartNextPendingJobExecution API o el UpdateJobExecution 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 objeto statusDetails.

    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 igual SUCCEEDED 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.

    Imagen que muestra cómo puede producirse un error en la ejecución de un trabajo en curso y cómo reintentar dicha ejecución.
  • FAILED

    Si el dispositivo no puede completar la operación remota, debe invocar el UpdateJobExecution API con un estado igual Failed 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.

    Imagen que muestra cómo puede producirse un error en la ejecución de un trabajo en curso y cómo reintentar dicha ejecución.
  • TIMED_OUT

    Cuando el dispositivo no puede completar un paso de la tarea en el estado en que se encuentraIN_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 propiedad inProgressTimeoutInMinutes 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.

    Imagen que muestra cómo se puede agotar el tiempo de espera de ejecución de un trabajo en curso y cómo reintentar dicha ejecución.
  • 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 CancelJobExecutionAPI, 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