Jobs
Panoramica
I job sono container schedulati, che si attivano su base temporale o in base alle risorse.
Scheduling
Tutte le schedulazioni hanno una componente temporale e una basata sulle risorse. Data la natura dei vari carichi di lavoro, l’utente può decidere l’entità che attiva il job.
Schedulazioni principalmente temporali
Le schedulazioni basate sul tempo sono schedulazioni fisse che richiedono l’esecuzione di un job entro un certo intervallo. Questi job tollerano solo un minimo ritardo, quindi il consumo di risorse è solo un fattore secondario per attivare un job.
Buoni esempi di schedulazioni temporali sono:
- un CronJob che controlla ogni 5 minuti la presenza di nuovi record in un database
- un CronJob che controlla ogni 15 minuti i nuovi utenti registrati
Schedulazioni principalmente basate sulle risorse
Le schedulazioni basate sulle risorse sono schedulazioni flessibili che richiedono che un job venga eseguito entro un certo intervallo. Questi job possono tollerare una schedulazione più flessibile per ottimizzare la disponibilità e il consumo delle risorse.
Buoni esempi di schedulazioni basate sulle risorse:
- un Job che controlla un feed RSS, eseguendo almeno una volta a settimana, al massimo una volta al giorno, a seconda delle preferenze sulle risorse disponibili
- un Job che controlla le pull request di GitHub e esegue varie suite di test, ogni volta che le risorse sono disponibili, ma almeno una volta al giorno
Variabili d’ambiente dal runtime
| variabile | settabile | descrizione |
|---|---|---|
| DTZ_ACCESS_TOKEN | sì (l’identità può essere cambiata) | JWT generato dal contesto che permette di accedere alle risorse all’interno del contesto. |
| DTZ_CONTEXT_ID | no | Contesto DTZ in cui l’applicazione corrente è in esecuzione |