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:

  1. Crea un argomento Pub/Sub da impostare come Cloud Scheduler target del job.
  2. Crea un cron job utilizzando Cloud Scheduler e configura una programmazione ricorrente per il job.
  3. Esegui il job.
  4. 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

  1. 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.
  2. Install the Google Cloud CLI.
  3. To initialize the gcloud CLI, run the following command:

    gcloud init
  4. 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.

  5. Make sure that billing is enabled for your Google Cloud project.

  6. Enable the Cloud Scheduler, Pub/Sub APIs:

    gcloud services enable cloudscheduler.googleapis.com pubsub.googleapis.com
  7. Install the Google Cloud CLI.
  8. To initialize the gcloud CLI, run the following command:

    gcloud init
  9. 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.

  10. Make sure that billing is enabled for your Google Cloud project.

  11. 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.

  1. 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.

  2. 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.

  1. 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.

  2. 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:

  1. 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.
  2. 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.

  3. 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