Eseguire processi in modo continuo
Usare la modalità continua per pianificare i carichi di lavoro da eseguire in modo continuo. Databricks consiglia di usare la modalità continua per i carichi di lavoro di streaming sempre attivi.
La modalità continua sostituisce le raccomandazioni legacy per i carichi di lavoro Structured Streaming per configurare i processi con criteri di ripetizione illimitati e un massimo di un'esecuzione simultanea.
Importante
L’elaborazione serverless per i processi non supporta la modalità continua.
Configurare il processo per l'esecuzione in modalità continua
Per configurare un processo per l'esecuzione in modalità continua, eseguire le operazioni seguenti:
- Nella barra laterale fare clic su Flussi di lavoro.
- Fare clic sul nome del lavoro nella colonna Nome sulla scheda Lavori.
- Fare clic su Aggiungi trigger nel pannello Dettagli processo, selezionare Continuo in Tipo di trigger, e poi fare clic su Salva.
Per arrestare un processo continuo, fare clic sul pulsante Sospendi . Fare clic su Riprendi per riavviare il processo in modalità continua.
Nota
- Può essere presente una sola istanza in esecuzione di un processo continuo.
- Esiste un ritardo tra il completamento di un'esecuzione e l'avvio di una nuova esecuzione. Questo ritardo deve essere inferiore a 60 secondi.
- Non è possibile usare relazioni tra attività con un processo continuo.
- Non è possibile usare criteri di ripetizione in un processo continuo. I processi continui vengono invece configurati a livello di attività e di processo per riprovare automaticamente usando un algoritmo di backoff esponenziale.
- Selezionare Esegui ora per attivare un nuovo processo eseguito in un processo continuo sospeso.
- Per fare in modo che il processo continuo rilevi una nuova configurazione, annullare l'esecuzione esistente. Viene avviata automaticamente una nuova esecuzione. È inoltre possibile fare clic su Riavvia esecuzione per riavviare l'esecuzione del processo con la configurazione aggiornata.
Come vengono gestiti gli errori per i processi continui?
Gli errori a livello di task e di job vengono gestiti usando un algoritmo di backoff esponenziale .
Le attività non riuscite vengono ritentate con un ritardo in aumento esponenziale fino a quando non viene raggiunto il numero massimo di tentativi consentiti. Dopo aver raggiunto il numero massimo di tentativi, l'esecuzione viene annullata e viene attivata una nuova esecuzione.
Gli errori consecutivi a livello di lavoro vengono gestiti anche tramite backoff esponenziale, che consente l'esecuzione di lavori continui senza interruzioni e il ritorno a uno stato sano quando si verificano errori ripristinabili.
Quando un processo continuo supera la soglia consentita per gli errori consecutivi, di seguito viene descritto come vengono gestiti le i processi successivi:
- Il processo viene riavviato dopo un periodo di attesa impostato dal sistema.
- Se l'esecuzione del processo successivo ha esito negativo, il periodo di ripetizione dei tentativi viene aumentato e il processo viene riavviato dopo questo nuovo periodo di tentativi.
- Per ogni successivo errore di esecuzione del lavoro, il periodo di ripetizione viene incrementato fino a raggiungere un periodo massimo impostato dal sistema. Dopo aver raggiunto il periodo massimo di tentativi, il processo continua a essere ritentato usando il periodo massimo di tentativi. Non c'è limite al numero di tentativi per un'attività continua.
- Se l'esecuzione del processo viene completata correttamente e viene avviata una nuova esecuzione oppure se l'esecuzione supera una soglia senza errori, il processo viene considerato integro e la sequenza di backoff viene reimpostata.
È possibile riavviare un processo continuo nello stato di backoff esponenziale nell'Interfaccia utente dei processi o passando l'ID processo alla richiesta POST /api/2.1/jobs/run-now nell'API Jobs 2.1 o alla richiesta /api/2.0/jobs/run-now nell'API Jobs 2.0.