Stati di lavoro

Il lavoro subisce una serie di State modifiche nel corso della sua durata.

Stati del lavoro una tantum

Per una richiesta di lavoro one-time, il tuo lavoro inizia in uno stato ENQUEUED.

Nello stato ENQUEUED, il tuo lavoro può essere eseguito non appena vengono soddisfatti i requisiti relativi a Constraints e alla tempistica di ritardo iniziale. Da lì passa allo stato RUNNING e, a seconda del risultato, può passare a SUCCEEDED, FAILED o eventualmente tornare aENQUEUED se il risultato è retry. In qualsiasi momento del processo, il lavoro può essere annullato, a quel punto il lavoro passerà allo stato CANCELLED.

La figura 1 illustra il ciclo di vita del lavoro una tantum, con gli eventi che potrebbero portarlo a un altro stato.

Figura 1. Diagramma di stato per il lavoro una tantum.

SUCCEEDED, FAILED e CANCELLED rappresentano tutti uno stato del terminale per questa operazione. Se il tuo lavoro si trova in uno di questi stati, WorkInfo.State.isFinished() restituisce true.

Stati dei lavori periodici

Gli stati Successo e Non riuscito si applicano solo al lavoro una tantum e concatenato. Per le operazioni periodiche è disponibile un solo stato di terminale, CANCELLED. Questo perché il lavoro periodico non ha mai fine. Dopo ogni esecuzione, questa viene ripianificata, indipendentemente dal risultato. La Figura 2 mostra il diagramma dello stato condensato per il lavoro periodico.

Figura 2. Diagramma di stato per il lavoro periodico.

Stato bloccato

C'è un ultimo stato che non abbiamo ancora menzionato, ovvero BLOCKED. Questo stato si applica alle opere orchestrate in una serie o catena di opere. Le catene di lavoro e il relativo diagramma di stato sono trattati nell'articolo Lavoro di china.

Passaggi successivi

In Gestione del lavoro, scoprirai di più su come gestire e monitorare l'avanzamento del lavoro.