Pianificare ed eseguire un cron job utilizzando gcloud CLI
Questa guida rapida mostra come utilizzare l'interfaccia a riga di comando gcloud per eseguire alcune operazioni di base con Cloud Scheduler.
In questa guida rapida:
- Crea un argomento Pub/Sub da impostare come Cloud Scheduler target del job.
- Crea un cron job utilizzando Cloud Scheduler e configura una programmazione ricorrente per il job.
- Esegui il job.
- Verificare che il job sia stato eseguito correttamente.
Cloud Scheduler prevede un Livello gratuito e l'esecuzione di questa guida rapida non dovrebbe comportare alcun costo. Per ulteriori informazioni, vedi Prezzi.
Prima di iniziare
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Scheduler, Pub/Sub APIs:
gcloud services enable cloudscheduler.googleapis.com
pubsub.googleapis.com - Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
Create or select a Google Cloud project.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
-
Make sure that billing is enabled for your Google Cloud project.
-
Enable the Cloud Scheduler, Pub/Sub APIs:
gcloud services enable cloudscheduler.googleapis.com
pubsub.googleapis.com
Crea un argomento e una sottoscrizione Pub/Sub
Un argomento Pub/Sub è una risorsa a cui i publisher possono inviare messaggi. Per ricevere i messaggi pubblicati in un argomento, devi creare una sottoscrizione a quell'argomento.
Configura un argomento Pub/Sub da utilizzare come target per il tuo cron job:
gcloud pubsub topics create cron-topic
Viene creato un argomento denominato
cron-topic
.Per ricevere messaggi e visualizzare i risultati del job, crea un Sottoscrizione Pub/Sub:
gcloud pubsub subscriptions create cron-sub --topic cron-topic
Crea un cron job con Cloud Scheduler
Utilizza il comando gcloud scheduler jobs create pubsub
per configurare un'unità di lavoro nota come cron job che viene inviata a un target Pub/Sub con una pianificazione ricorrente. La pianificazione viene specificata utilizzando un formato basato su unix-cron. Per ulteriori informazioni, consulta Formato e fuso orario dei job cron.
gcloud scheduler jobs create pubsub my-cron-job \
--schedule="30 16 * * 7" \
--topic=cron-topic \
--location="us-central1" \
--message-body="Hello world"
Hai creato un job che invia un messaggio "Hello world" al tuo argomento Pub/Sub alle 16:30 di domenica.
Ora puoi eseguire il job.
Esegui il job
Oltre a eseguirlo in base alla pianificazione specificata, puoi forzare l'esecuzione immediata del job:
gcloud scheduler jobs run my-cron-job --location="us-central1"
Tieni presente che, a causa della configurazione iniziale, l'esecuzione del primo job creato in un progetto può richiedere alcuni minuti.
Ora puoi verificare che il messaggio sia stato ricevuto dall'argomento Pub/Sub.
Verifica i risultati in Pub/Sub
Verifica che l'argomento Pub/Sub riceva messaggi dal tuo job.
Esegui il pull dei messaggi Pub/Sub da una sottoscrizione:
gcloud pubsub subscriptions pull cron-sub --limit 5
Se inizialmente non vengono estratti messaggi, esegui di nuovo il comando.
Visualizza i risultati dell'esecuzione del job. L'output dovrebbe essere simile al seguente:
DATA: Hello world! MESSAGE_ID: 5028933846601543 ORDERING_KEY: ATTRIBUTES: DELIVERY_ATTEMPT: ACK_ID: RFAGFixdRkhRNxkIaFEOT14jPzUgKEUQAgVPAihdeTFXLkFacGhRDRlyfWB9[...]
Esegui la pulizia
Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate su questa pagina, elimina il progetto Google Cloud con le risorse.
Delete a Google Cloud project:
gcloud projects delete PROJECT_ID
In alternativa, elimina le risorse che hai creato per questa guida rapida:
Elimina il cron job. In Cloud Shell o sulla macchina in cui hai installato gcloud CLI, esegui il comando:
gcloud scheduler jobs delete MY_JOB \ --location="LOCATION"
Sostituisci quanto segue:
MY_JOB
: il nome del job da eliminare.LOCATION
: la posizione del lavoro. Per impostazione predefinita, utilizza la posizione dell'app App Engine del progetto corrente, se è presente un'app associata.
Elimina l'argomento Pub/Sub. In Cloud Shell o macchina in cui hai installato gcloud CLI, esegui il comando:
gcloud pubsub topics delete TOPIC_ID
Sostituisci
TOPIC_ID
con l'ID dell'argomento Pub/Sub da eliminare.Elimina la sottoscrizione Pub/Sub. In Cloud Shell o in Nella macchina in cui hai installato gcloud CLI, esegui il comando:
gcloud pubsub subscriptions delete SUBSCRIPTION_ID
Sostituisci
SUBSCRIPTION_ID
con l'ID dell'abbonamento Pub/Sub da eliminare.
Passaggi successivi
Scopri di più su Cloud Scheduler
Scopri come visualizzare i log di Cloud Scheduler