View a markdown version of this page

Processi e stati di esecuzione dei processi - AWS IoT Core

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Processi e stati di esecuzione dei processi

Le sezioni seguenti descrivono il ciclo di vita di un AWS IoT lavoro e il ciclo di vita di un'esecuzione del lavoro.

Stati del lavoro

Il diagramma seguente mostra i diversi stati di un AWS IoT lavoro.

Immagine che mostra i diversi stati di un AWS IoT lavoro.

Un lavoro creato utilizzando AWS IoT Jobs può trovarsi in uno dei seguenti stati:

  • SCHEDULED

    Durante la creazione iniziale del job o del modello di job utilizzando la AWS IoT console, CreateJob l'CreateJobTemplateAPI o l'API, puoi selezionare la configurazione di pianificazione opzionale nella AWS IoT console o SchedulingConfig nell'CreateJobAPI o CreateJobTemplate API. Quando si avvia un processo pianificato contenente parametri startTime, endTime e endBehavior specifici, lo stato del processo viene aggiornato a SCHEDULED. Quando il processo raggiunge l’startTime selezionata o l’startTime della finestra di manutenzione successiva (se hai selezionato l’implementazione del processo durante una finestra di manutenzione), lo stato verrà aggiornato da SCHEDULED a IN_PROGRESS e inizierà il rollout del documento del processo a tutti i dispositivi del gruppo di destinazione.

  • IN_PROGRESS

    Quando si crea un job utilizzando la AWS IoT console o l'CreateJobAPI, lo stato del job si aggiorna aIN_PROGRESS. Durante la creazione di un processo, AWS IoT Jobs inizia a implementare le esecuzioni del processo nei dispositivi del gruppo di destinazione. Una volta implementate tutte le esecuzioni del processo, AWS IoT Jobs attende che i dispositivi completino l’operazione remota.

    Per informazioni sulla simultaneità e sui limiti applicabili ai processi in corso, consulta AWS IoT Limiti relativi ai lavori.

    Nota

    Quando un processo IN_PROGRESS raggiunge la fine della finestra di manutenzione corrente, la distribuzione del documento del processo si interrompe. Il processo verrà aggiornato a SCHEDULED fino alla startTime della finestra di manutenzione successiva.

  • COMPLETED

    Un processo continuo viene gestito in uno dei seguenti modi:

    • Un processo continuo senza la configurazione della pianificazione opzionale selezionata è sempre in corso e continua a essere eseguito per qualsiasi nuovo dispositivo che viene aggiunto al gruppo di destinazione. Non raggiungerà mai uno stato di COMPLETED.

    • Per un processo continuo con la configurazione della pianificazione opzionale selezionata, vale quanto segue:

      • Se è stata specificata una endTime, un processo continuo raggiungerà lo stato COMPLETED quando endTime è passata e tutte le esecuzioni del processo hanno raggiunto uno stato terminale.

      • Se non è stata specificata una endTime nella configurazione della pianificazione opzionale, il processo continuo continuerà a eseguire la distribuzione del documento del processo.

    Per un processo snapshot, lo stato del processo diventa COMPLETED quando tutte le esecuzioni del processo raggiungono uno stato terminale, come SUCCEEDED, FAILED, TIMED_OUT, REMOVED o CANCELED.

  • CANCELED (ANNULLATO)

    Quando si annulla un lavoro utilizzando la AWS IoT console, l'CancelJobAPI o ilConfigurazione dell'interruzione del processo, lo stato del lavoro cambia inCANCELED. Durante l'annullamento del lavoro, AWS IoT Jobs inizia ad annullare le esecuzioni del lavoro create in precedenza.

    Per informazioni sulla simultaneità e sui limiti applicabili ai processi che sono in fase di cancellazione, consulta AWS IoT Limiti relativi ai lavori.

  • DELETION_IN_PROGRESS

    Quando elimini un lavoro utilizzando la AWS IoT console o l'DeleteJobAPI, lo stato del lavoro cambia in. DELETION_IN_PROGRESS Durante l'eliminazione del lavoro, AWS IoT Jobs inizia a eliminare le esecuzioni del lavoro create in precedenza. Dopo che tutte le esecuzioni dei lavori sono state eliminate, il lavoro scompare dal tuo account. AWS

Stati di esecuzione del processo

La tabella seguente mostra i diversi stati di esecuzione di un AWS IoT job e se la modifica dello stato viene avviata dal dispositivo o dai Jobs. AWS IoT

Origine e stati di esecuzione del processo
Stato di esecuzione del processo Iniziato dal dispositivo? Iniziato da Jobs AWS IoT ? Stato del terminale? Può essere riprovato?
QUEUED No No Non applicabile
IN_PROGRESS No No Non applicabile
SUCCEEDED No Non applicabile
FAILED No
TIMED_OUT No
REJECTED No No
REMOVED No No
CANCELED No No

La sezione seguente descrive ulteriori informazioni sugli stati di esecuzione di un processo che viene implementato quando si crea un lavoro con AWS IoT Jobs.

  • IN CODA

    Quando AWS IoT Jobs esegue l'esecuzione di un processo per un dispositivo di destinazione, lo stato di esecuzione del lavoro è impostato suQUEUED. L'esecuzione del processo resta nello stato QUEUED finché non si verifica quanto segue:

    • Il dispositivo riceve l'esecuzione del processo, richiama le operazioni API Jobs e segnala lo stato come IN_PROGRESS.

    • Quando annulli correttamente il processo o l’esecuzione del processo o vengono soddisfatti i criteri che hai specificato usando una configurazione di interruzione, lo stato diventa CANCELED.

    • Il dispositivo viene rimosso dal gruppo di destinazione e lo stato diventa REMOVED.

    Immagine che mostra come l'esecuzione di un processo in coda cambia lo stato in IN_PROGRESS e come un processo può essere RIFIUTATO se il dispositivo non accetta la richiesta di creazione del lavoro.
  • IN_PROGRESS

    Se il tuo dispositivo IoT è abbonato all'Argomenti di processo$notifyand riservato e $notify-next il dispositivo richiama l'StartNextPendingJobExecutionAPI o l'UpdateJobExecutionAPI con lo stato di esecuzione del lavoroIN_PROGRESS, AWS IoT Jobs imposterà lo stato di esecuzione del lavoro su. IN_PROGRESS

    L'API UpdateJobExecution può essere richiamata più volte con lo stato IN_PROGRESS. Puoi specificare maggiori dettagli sulle fasi di esecuzione utilizzando l'oggetto statusDetails.

    Nota

    Se crei più job per ogni dispositivo, AWS IoT Jobs e il protocollo MQTT non garantiscono l'ordine di consegna.

  • RIUSCITA

    Quando il dispositivo completa con successo l'operazione remota, il dispositivo deve richiamare l'UpdateJobExecutionAPI con uno stato pari SUCCEEDED a indicare che l'esecuzione del processo è riuscita. AWS IoT Jobs quindi si aggiorna e restituisce lo stato di esecuzione del lavoro come. SUCCEEDED

    Immagine che mostra come l'esecuzione di un processo in corso può non riuscire e come riprovarla.
  • NON RIUSCITO

    Quando il dispositivo non riesce a completare l'operazione remota, deve richiamare l'UpdateJobExecutionAPI con uno stato pari Failed a indicare che l'esecuzione del processo non è riuscita. AWS IoT Jobs quindi si aggiorna e restituisce lo stato di esecuzione del lavoro comeFailed. Puoi riprovare l'esecuzione del processo per il dispositivo usando la Configurazione del nuovo tentativo di esecuzione del processo.

    Immagine che mostra come l'esecuzione di un processo in corso può non riuscire e come riprovarla.
  • TIMED_OUT

    Quando il dispositivo non riesce a completare una fase del lavoro quando lo stato è impostatoIN_PROGRESS, o quando non riesce a completare l'operazione remota entro il timeout del timer in corso, AWS IoT Jobs imposta lo stato di esecuzione del lavoro su. TIMED_OUT Hai anche un timer per ogni fase di un processo in corso che si applica solo all'esecuzione del processo. La durata del timer in corso viene specificata usando la proprietà inProgressTimeoutInMinutes della Configurazione del timeout di esecuzione del processo. Puoi riprovare l'esecuzione del processo per il dispositivo usando la Configurazione del nuovo tentativo di esecuzione del processo.

    Immagine che mostra come l'esecuzione di un processo in corso può scadere e come riprovarla.
  • REJECTED

    Quando il dispositivo riceve una richiesta non valida o incompatibile, deve richiamare l'UpdateJobExecutionAPI con lo stato di. REJECTED AWS IoT Jobs quindi si aggiorna e restituisce lo stato di esecuzione del lavoro come. REJECTED

  • REMOVED

    Quando il dispositivo non è più una destinazione valida per l'esecuzione del processo, ad esempio quando è scollegato da un gruppo di oggetti dinamico, AWS IoT Jobs imposta lo stato di esecuzione del processo su REMOVED. Puoi ricollegare l'oggetto al gruppo di destinazione e riavviare l'esecuzione del processo per il dispositivo.

  • CANCELED (ANNULLATO)

    Quando si annulla un job o si annulla l'esecuzione di un job utilizzando la console o l'CancelJobExecutionAPI CancelJob or, oppure quando vengono soddisfatti i criteri di interruzione specificati utilizzando ilConfigurazione dell'interruzione del processo, AWS IoT Jobs annulla il job e imposta lo stato di esecuzione del job su. CANCELED