Condividi tramite


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:

  1. Nella barra laterale fare clic su Flussi di lavoro.
  2. Fare clic sul nome del lavoro nella colonna Nome sulla scheda Lavori.
  3. 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:

  1. Il processo viene riavviato dopo un periodo di attesa impostato dal sistema.
  2. 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.
    1. 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.
    2. 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.