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
Il calcolo 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 un'unica 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à in un'attività continua.
- Non è possibile usare politiche di ripetizione in un lavoro continuo. I processi continui usano invece un backoff esponenziale per gestire gli errori di esecuzione del processo. Le attività non riuscite in un processo continuo multi-attività non vengono ritentate e rimarranno nello stato
Failed
fino a quando il processo non viene riavviato manualmente o tutte le altre attività terminano. - 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 lavoro vengono gestiti usando un algoritmo di backoff esponenziale .
Gli errori consecutivi a livello lavorativo vengono gestiti tramite backoff esponenziale, che consente l'esecuzione di lavori continui senza interruzioni e il ritorno a uno stato integro 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 riavviato con lo stesso periodo. Non c'è limite al numero di tentativi per un lavoro continuo.
- 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.