Con Cloud Scheduler puoi impostare le unità di lavoro pianificate da eseguire a intervalli 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 di App Engine
Cloud Scheduler è progettato per offrire "almeno una volta" la distribuzione dei dati; ovvero il job verrà eseguito almeno una volta per ogni esecuzione pianificata. In alcuni rari circostanze è possibile che un job venga eseguito più volte in associazione con una singola istanza della pianificazione, quindi il codice deve garantire nessun effetto collaterale dannoso di esecuzioni ripetute. I target devono essere idempotenti.
Puoi creare cron job 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 per Cloud Scheduler.
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 viene eseguita la tua app si trova in una regione specifica. Se vuoi distribuire le risorse di computing in più regioni, devi scegliere come target un endpoint HTTP/S 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 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
.