Con Cloud Scheduler puoi configurare le unità di lavoro pianificate da eseguire a orari definiti o a intervalli regolari. Queste unità di lavoro sono comunemente chiamate cron job. I casi d'uso tipici potrebbero includere l'invio giornaliero di un'email con il report, 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, in cui viene eseguito il lavoro dell'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 fornire la distribuzione "almeno una volta"; in altre parole, il job verrà eseguito almeno una volta per ogni esecuzione pianificata. In alcuni rari casi, è possibile che un job venga eseguito più volte in associazione con una singola istanza della pianificazione, quindi il codice deve garantire che non ci siano effetti collaterali dannosi dell'esecuzione ripetuta. I target dovrebbero essere idempotenti.
Puoi creare cron job utilizzando la console Cloud o lo strumento a riga di comando gcloud.
Regioni supportate per target
Se la destinazione è un endpoint HTTP/S o un argomento Pub/Sub, Cloud Scheduler è disponibile in tutte le regioni di Google Cloud supportate per Cloud Scheduler.
Se il target è un'applicazione App Engine situata all'interno del progetto attuale:
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 dopo aver creato l'app.
App Engine è di tipo regionale, il che significa che l'infrastruttura che esegue l'app si trova in una regione specifica. Se vuoi distribuire computing e job in più regioni, dovresti scegliere come target un endpoint HTTP/S o un argomento Pub/Sub.
Se non utilizzi App Engine come destinazione, non devi eseguire il deployment di un'app di App Engine e puoi disabilitare qualsiasi app di App Engine esistente.