

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
<a name="iot-jobs-lifecycle"></a>

Le seguenti sezioni descrivono il ciclo di vita di un AWS IoT job e il ciclo di vita dell'esecuzione di un job.

## Job stati
<a name="iot-jobs-states"></a>

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

![\[Immagine che mostra i diversi stati di un AWS IoT lavoro.\]](http://docs.aws.amazon.com/it_it/iot/latest/developerguide/images/job-states-diagram.png)


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

**SCHEDULED**  
Durante la creazione iniziale del lavoro o del modello di lavoro utilizzando la AWS IoT console, [CreateJob](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJob.html)l'[CreateJobTemplate](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJobTemplate.html)API o l'API, puoi selezionare la configurazione di pianificazione opzionale nella AWS IoT console o `SchedulingConfig` nell'[CreateJob](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJob.html)API o nell'[CreateJobTemplate](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJobTemplate.html)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\$1PROGRESS**  
Quando si crea un lavoro utilizzando la AWS IoT console o l'[CreateJob](https://docs.aws.amazon.com/iot/latest/apireference/API_CreateJob.html)API, lo stato del processo viene aggiornato a`IN_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 dei lavori](job-limits.md).
**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 annulli un lavoro utilizzando la AWS IoT console, l'[CancelJob](https://docs.aws.amazon.com/iot/latest/apireference/API_CancelJob.html)API o il[Configurazione dell'interruzione del processo](jobs-configurations-details.md#job-abort-using), lo stato del lavoro cambia in`CANCELED`. Durante l'annullamento del lavoro, AWS IoT Jobs inizia ad annullare le esecuzioni di lavori create in precedenza.

  Per informazioni sulla simultaneità e sui limiti applicabili ai processi che sono in fase di cancellazione, consulta [AWS IoT Limiti dei lavori](job-limits.md).
+ 

**DELETION\$1IN\$1PROGRESS**  
Quando elimini un lavoro utilizzando la AWS IoT console o l'[DeleteJob](https://docs.aws.amazon.com/iot/latest/apireference/API_DeleteJob.html)API, lo stato del lavoro cambia in. `DELETION_IN_PROGRESS` Durante l'eliminazione dei AWS IoT job, Jobs inizia a eliminare le esecuzioni di job create in precedenza. Dopo che tutte le esecuzioni di job sono state eliminate, il job scompare dal tuo account. AWS 

## Stati di esecuzione del processo
<a name="iot-job-execution-states"></a>

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 da Jobs. AWS IoT 


**Origine e stati di esecuzione del processo**  

| Stato di esecuzione del processo | Iniziato dal dispositivo? | Avviato da Jobs AWS IoT ? | Stato del terminale? | Può essere riprovato? | 
| --- | --- | --- | --- | --- | 
| QUEUED | No | Sì | No | Non applicabile | 
| IN\$1PROGRESS | Sì | No | No | Non applicabile | 
| SUCCEEDED | Sì | No | Sì | Non applicabile | 
| FAILED | Sì | No | Sì | Sì | 
| TIMED\$1OUT | No | Sì | Sì | Sì | 
| REJECTED | Sì | No | Sì | No | 
| REMOVED | No | Sì | Sì | No | 
| CANCELED | No | Sì | Sì | No | 

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

**IN CODA**  
Quando AWS IoT Jobs implementa un'esecuzione di lavoro per un dispositivo di destinazione, lo stato di esecuzione del lavoro è impostato su`QUEUED`. 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.\]](http://docs.aws.amazon.com/it_it/iot/latest/developerguide/images/JE-queued-inprogress.png)
+ 

**IN\$1PROGRESS**  
Se il dispositivo IoT si abbona alla rete riservata [Argomenti di processo](reserved-topics.md#reserved-topics-job) `$notify` e `$notify-next` il dispositivo richiama l'`StartNextPendingJobExecution`API o l'`UpdateJobExecution`API con uno stato di`IN_PROGRESS`, AWS IoT Jobs imposterà lo stato di esecuzione del processo 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ù lavori per ogni dispositivo, AWS IoT Jobs e il protocollo MQTT non garantiscono l'ordine di consegna.
+ 

**RIUSCITA**  
Quando il dispositivo completa correttamente l'operazione remota, deve richiamare l'`UpdateJobExecution`API con uno stato pari `SUCCEEDED` a per indicare che l'esecuzione del processo è riuscita. AWS IoT Jobs quindi 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.\]](http://docs.aws.amazon.com/it_it/iot/latest/developerguide/images/JE-success-path.png)
+ 

**NON RIUSCITO**  
Quando il dispositivo non riesce a completare l'operazione remota, deve richiamare l'`UpdateJobExecution`API con uno stato pari `Failed` a per indicare che l'esecuzione del processo non è riuscita. AWS IoT Jobs quindi aggiorna e restituisce lo stato di esecuzione del lavoro come`Failed`. Puoi riprovare l'esecuzione del processo per il dispositivo usando la [Configurazione del nuovo tentativo di esecuzione del processo](jobs-configurations-details.md#job-retry-configuration).  
![\[Immagine che mostra come l'esecuzione di un processo in corso può non riuscire e come riprovarla.\]](http://docs.aws.amazon.com/it_it/iot/latest/developerguide/images/JE-inprogress-failed.png)
+ 

**TIMED\$1OUT**  
Quando il dispositivo non riesce a completare una fase di lavoro quando lo stato è`IN_PROGRESS`, o quando non riesce a completare l'operazione remota entro la durata del 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](jobs-configurations-details.md#job-timeout-configuration). Puoi riprovare l'esecuzione del processo per il dispositivo usando la [Configurazione del nuovo tentativo di esecuzione del processo](jobs-configurations-details.md#job-retry-configuration).  
![\[Immagine che mostra come l'esecuzione di un processo in corso può scadere e come riprovarla.\]](http://docs.aws.amazon.com/it_it/iot/latest/developerguide/images/JE-inprogress-timedout.png)
+ 

**REJECTED**  
Quando il dispositivo riceve una richiesta non valida o incompatibile, deve richiamare l'`UpdateJobExecution`API con uno stato di. `REJECTED` AWS IoT Jobs quindi aggiorna e restituisce lo stato di esecuzione del processo 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 lavoro o si annulla l'esecuzione di un lavoro utilizzando la console `CancelJob` o l'`CancelJobExecution`API o o quando vengono soddisfatti i criteri di interruzione specificati utilizzando il[Configurazione dell'interruzione del processo](jobs-configurations-details.md#job-abort-using), AWS IoT Jobs annulla il lavoro e imposta lo stato di esecuzione del lavoro su. `CANCELED`