Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Tâches et états d'exécution des tâches
Les sections suivantes décrivent le cycle de vie d'une AWS IoT tâche et le cycle de vie de son exécution.
États des tâches
Le schéma suivant montre les différents états d'une AWS IoT tâche.
![Image montrant les différents états d'une AWS IoT tâche.](images/job-states-diagram.png)
Une tâche que vous créez à l'aide de AWS IoT Jobs peut présenter l'un des états suivants :
-
PLANIFIÉ
Lors de la création initiale de la tâche ou du modèle de tâche à l'aide de la AWS IoT console, CreateJobde CreateJobTemplatel'API ou de l'API, vous pouvez sélectionner la configuration de planification facultative
SchedulingConfig
dans la AWS IoT console ou dans l'CreateJobAPI ou l'CreateJobTemplateAPI. Lorsque vous démarrez une tâche planifiée contenant unstartTime
,endTime
, etendBehavoir
spécifique, le statut de la tâche passe àSCHEDULED
. Lorsque la tâche atteint la fenêtre sélectionnéestartTime
ou lastartTime
fenêtre de maintenance suivante (si vous avez sélectionné le déploiement de la tâche pendant une fenêtre de maintenance), le statut passe deSCHEDULED
àIN_PROGRESS
et commence à déployer le document de tâche sur tous les appareils du groupe cible. -
EN_COURS
Lorsque vous créez une tâche à l'aide de la AWS IoT console ou de l'CreateJobAPI, le statut de la tâche passe à
IN_PROGRESS
. Lors de la création, la fonction AWS IoT Jobs, commence à déployer des exécutions de tâches sur les appareils de votre groupe cible. Une fois que toutes les tâches ont été exécutées, la fonction AWS IoT Jobs attend que les appareils exécutent l'action à distance.Pour plus d'informations sur la simultanéité et les limites applicables aux tâches en cours, consultez Limites des tâches.
Note
Lorsqu'une
IN_PROGRESS
tâche atteint la fin de la fenêtre de maintenance en cours, le déploiement du document de tâche s'arrête. La tâche sera mise à jourSCHEDULED
jusqu'àstartTime
la prochaine fenêtre de maintenance. -
TERMINÉ
Une tâche continue est gérée de l'une des manières suivantes :
-
Pour une tâche continue sans la configuration de planification optionnelle sélectionnée, elle est toujours en cours et continue de fonctionner pour tous les nouveaux appareils ajoutés au groupe cible. Il n'atteindra jamais le statut de
COMPLETED
. -
Pour une tâche continue avec la configuration de planification facultative sélectionnée, ce qui suit est vrai :
-
Si un
endTime
a été fourni, une tâche continue atteindra leCOMPLETED
statut lorsqu'elleendTime
sera terminée et que toutes les exécutions de tâches auront atteint le statut terminal. -
Si un
endTime
n'a pas été fourni dans la configuration de planification facultative, le travail continu continuera à effectuer le déploiement du document de travail.
-
Pour une tâche instantanée, le statut de la tâche change en
COMPLETED
lorsque toutes ses exécutions passent à un état terminal, tel queSUCCEEDED
,FAILED
,TIMED_OUT
,REMOVED
, ouCANCELED
. -
-
ANNULÉE
Lorsque vous annulez une tâche à l'aide de la AWS IoT console, de l'CancelJobAPI ou duConfiguration d’annulation de la tâche , le statut de la tâche passe à
CANCELED
. Lors de l'annulation d'une tâche, AWS IoT Jobs commence à annuler les exécutions de tâches créées précédemment.Pour plus d'informations sur la simultanéité et les limites applicables aux tâches annulées, consultezLimites des tâches.
-
SUPPRESSION_EN_COURS
Lorsque vous supprimez une tâche à l'aide de la AWS IoT console ou de l'DeleteJobAPI, le statut de la tâche devient
DELETION_IN_PROGRESS
. Lors de la suppression d'une tâche, AWS IoT Jobs commence à supprimer les exécutions de tâches créées précédemment. Une fois que toutes les exécutions de tâches ont été supprimées, celles-ci disparaissent de votre AWS compte.
États d'exécution de tâche
Le tableau suivant indique les différents états d'exécution d'une AWS IoT tâche et indique si le changement d'état est initié par le périphérique ou par les AWS IoT tâches.
États et source de l'exécution des tâches | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Etat d'exécution de Tâches | Initié par un appareil ? | Initié par AWS IoT Jobs ? | État du terminal ? | Peut être réessayé ? | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
QUEUED |
Non | Oui | Non | Ne s’applique pas | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
IN_PROGRESS |
Oui | Non | Non | Ne s’applique pas | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
SUCCEEDED |
Oui | Non | Oui | Ne s’applique pas | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
FAILED |
Oui | Non | Oui | Oui | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
TIMED_OUT |
Non | Oui | Oui | Oui | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
REJECTED |
Oui | Non | Oui | Non | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
REMOVED |
Non | Oui | Oui | Non | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CANCELED |
Non | Oui | Oui | Non |
La section suivante décrit plus en détail les états d'exécution d'une tâche déployée lorsque vous créez une tâche avec AWS IoT Jobs.
-
QUEUED
Lorsque AWS IoT Jobs déploie une exécution de tâche pour un appareil cible, le statut d'exécution de la tâche est défini sur
QUEUED
. L'exécution de la tâche reste au stadeQUEUED
jusqu'à ce que :-
Votre appareil reçoit l'exécution de la tâche, invoque les opérations API de la fonction Job et indique
IN_PROGRESS
comme état. -
Vous annulez le travail ou son exécution, ou lorsque les critères d'interruption que vous avez spécifiés sont remplis et que le statut passe à
CANCELED
. -
Votre appareil est retiré du groupe cible et son statut passe à
REMOVED
.
-
-
EN_COURS
Si votre appareil IoT s'abonne à la main réservée Rubriques de tâche
$notify
et$notify-next
que votre appareil invoque l'StartNextPendingJobExecution
API ou l'API dont le statut estUpdateJobExecution
égal àIN_PROGRESS
, AWS IoT Jobs définira le statut d'exécution de la tâche sur.IN_PROGRESS
L'
UpdateJobExecution
API peut être invoquée plusieurs fois avec un statut deIN_PROGRESS
. Vous pouvez spécifier des détails supplémentaires sur les étapes d'exécution à l'aide de l'statusDetails
objet.Note
Si vous créez plusieurs tâches pour chaque appareil, les AWS IoT tâches et le protocole MQTT ne garantissent pas l'ordre de livraison.
-
RÉUSSI
Lorsque votre appareil termine avec succès l'opération à distance, il doit appeler l'
UpdateJobExecution
API avec un statut égalSUCCEEDED
à pour indiquer que l'exécution de la tâche a réussi. AWS IoT Jobs est ensuite mis à jour et renvoie le statut d'exécution du travail sous la formeSUCCEEDED
. -
ÉCHEC
Lorsque votre appareil ne parvient pas à effectuer l'opération à distance, il doit appeler l'
UpdateJobExecution
API avec un statut égalFailed
à pour indiquer que l'exécution de la tâche a échoué. AWS IoT Jobs est ensuite mis à jour et renvoie le statut d'exécution du travail sous la formeFailed
. Vous pouvez réessayer d'exécuter cette tâche pour le périphérique à l'aide de Configuration de nouvelle tentative d’exécution de tâche. -
TIMED_OUT
Lorsque votre appareil ne parvient pas à terminer une étape de travail alors que le statut est le cas
IN_PROGRESS
, ou lorsqu'il ne parvient pas à terminer l'opération à distance dans le délai imparti, AWS IoT Jobs définit le statut d'exécution de la tâche sur.TIMED_OUT
Vous disposez également d'un chronomètre pour chaque étape d'une tâche en cours qui s'applique uniquement à l'exécution de la tâche. La durée du temporisateur en cours est spécifiée à l'aide de lainProgressTimeoutInMinutes
propriété du Configuration du délai d’attente d’exécution de tâche. Vous pouvez réessayer d'exécuter cette tâche pour le périphérique à l'aide du Configuration de nouvelle tentative d’exécution de tâche. -
REFUSÉE
Lorsque votre appareil reçoit une demande non valide ou incompatible, il doit appeler l'
UpdateJobExecution
API avec un statut deREJECTED
. AWS IoT Jobs est ensuite mis à jour et renvoie le statut d'exécution du travail sous la formeREJECTED
. -
SUPPRIMÉ
Lorsque votre appareil n'est plus une cible valide pour l'exécution de la tâche, par exemple lorsqu'il est détaché d'un groupe d'objets dynamique, la fonction AWS IoT Jobs définit le statut d'exécution de la tâche à
REMOVED
. Vous pouvez rattacher l'objet à votre groupe cible et recommencer l'exécution de la tâche pour l'appareil. -
ANNULÉE
Lorsque vous annulez un travail ou annulez l'exécution d'un travail à l'aide de la console
CancelJob
ou de l'CancelJobExecution
API or, ou lorsque les critères d'abandon spécifiés à l'aide du Configuration d’annulation de la tâche sont remplis, AWS IoT Jobs annule le travail et définit le statut d'exécution du travail sur.CANCELED