Con Cloud Scheduler puoi configurare unità di lavoro pianificate da eseguire a orari definiti o a intervalli regolari. Queste unità di lavoro sono comunemente note come cron job. Alcuni casi d'uso tipici potrebbero includere l'invio di un'email con un report ogni giorno, l'aggiornamento dei dati memorizzati nella cache ogni 10 minuti o l'aggiornamento delle informazioni di riepilogo una volta all'ora.
Ogni cron job creato utilizzando Cloud Scheduler viene inviato a un target in base a una pianificazione specificata, dove viene completato il lavoro per l'attività. La destinazione deve essere uno dei seguenti tipi:
- Endpoint HTTP/S
- Argomenti Pub/Sub
- Applicazioni HTTP/S App Engine
Cloud Scheduler è progettato per fornire la consegna "almeno una volta", ovvero il job verrà eseguito almeno una volta per esecuzione pianificata. In alcune rare circostanze, è possibile che un job venga eseguito più volte in associazione con una singola istanza della pianificazione, pertanto il codice deve garantire che non vi siano effetti collaterali dannosi dell'esecuzione ripetuta. I target devono essere idempotenti.
Puoi creare job cron utilizzando la console Cloud o lo strumento a riga di comando gcloud.
Regioni supportate per target
Se il target è un endpoint HTTP/S o un argomento Pub/Sub, Cloud Scheduler è disponibile in tutte le regioni Google Cloud supportate.
Se il target è un'applicazione App Engine all'interno del progetto corrente:
Un job Cloud Scheduler che ha come target App Engine può essere creato solo nella regione App Engine del progetto.
Un progetto Google Cloud può contenere una sola app App Engine e la regione in cui si trova l'app App Engine non può essere modificata una volta creata l'app.
App Engine è regionale, il che significa che l'infrastruttura che esegue la tua app si trova in una regione specifica. Se vuoi distribuire il calcolo e i job in più regioni, devi scegliere come target un endpoint HTTP/S o un argomento Pub/Sub.
Se non utilizzi App Engine come target, non devi eseguire il deployment di un'app App Engine e puoi disattivare qualsiasi app App Engine esistente.
Criterio di ripetizione dei job
Se un job Cloud Scheduler non viene completato correttamente e non viene ricevuto un conferma dal gestore del job, viene eseguito nuovamente con un backoff esponenziale in base al criterio di nuovo tentativo configurato.
Puoi configurare le impostazioni che determinano il comportamento di ripetizione. Per ulteriori informazioni, consulta RetryConfig
.