Programa y ejecuta un trabajo cron con gcloud CLI

En esta guía de inicio rápido, se muestra cómo usar gcloud CLI para realizar algunas operaciones básicas con Cloud Scheduler.

En esta guía de inicio rápido, podrás hacer lo siguiente:

  1. Crea un tema de Pub/Sub para configurarlo como el destino de tu trabajo de Cloud Scheduler.
  2. Crea un trabajo cron con Cloud Scheduler y configura un programa recurrente para el trabajo.
  3. Ejecuta tu trabajo.
  4. Verificar si el trabajo se ejecutó de forma correcta

Cloud Scheduler cuenta con un nivel gratuito, por lo que ejecutar esta guía de inicio rápido no debería generar ningún costo. Para obtener más información, consulta Precios.

Antes de comenzar

  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 tema y una suscripción a Pub/Sub

Un tema de Pub/Sub es un recurso al que los publicadores pueden enviar mensajes. Para recibir mensajes publicados en un tema, debes crear una suscripción a ese tema.

  1. Configura un tema de Pub/Sub para usar como destino de tu trabajo cron:

    gcloud pubsub topics create cron-topic
    

    Esto crea un tema llamado cron-topic.

  2. Para recibir mensajes y ver los resultados de tu trabajo, crea una suscripción a Pub/Sub:

    gcloud pubsub subscriptions create cron-sub --topic cron-topic
    

Crea un trabajo cron con Cloud Scheduler

Usa el comando gcloud scheduler jobs create pubsub para configurar una unidad de trabajo conocida como trabajo cron que se envía a un destino de Pub/Sub en un programa recurrente. El programa se especifica con un formato basado en unix-cron. Para obtener más información, consulta Formato y zona horaria de la tarea cron.

gcloud scheduler jobs create pubsub my-cron-job \
    --schedule="30 16 * * 7" \
    --topic=cron-topic \
    --location="us-central1" \
    --message-body="Hello world"

Creaste un trabajo que envía un mensaje “Hola mundo” a tu tema de Pub/Sub a las 4:30 p.m. los domingos.

Ahora puedes ejecutar el trabajo.

Ejecuta tu trabajo

Además de ejecutarse según el programa especificado, puedes forzar a que tu trabajo se ejecute de inmediato:

gcloud scheduler jobs run my-cron-job --location="us-central1"

Ten en cuenta que, debido a la configuración inicial, el primer trabajo creado en un proyecto puede tardar unos minutos en ejecutarse.

A continuación, puedes verificar que tu tema de Pub/Sub recibió el mensaje.

Verifica los resultados en Pub/Sub

Verifica que tu tema de Pub/Sub reciba mensajes de tu trabajo.

  1. Extraer mensajes de Pub/Sub de una suscripción:

    gcloud pubsub subscriptions pull cron-sub --limit 5
    

    Si no se muestran mensajes inicialmente, vuelve a ejecutar el comando.

  2. Consulta los resultados de la ejecución de tu trabajo. El resultado debería ser similar al siguiente:

    DATA: Hello world!
    MESSAGE_ID: 5028933846601543
    ORDERING_KEY:
    ATTRIBUTES:
    DELIVERY_ATTEMPT:
    ACK_ID: RFAGFixdRkhRNxkIaFEOT14jPzUgKEUQAgVPAihdeTFXLkFacGhRDRlyfWB9[...]
    

Limpia

Para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos que se usaron en esta página, borra el proyecto de Cloud que tiene los recursos.

    Delete a Google Cloud project:

    gcloud projects delete PROJECT_ID

Como alternativa, borra los recursos que creaste para esta guía de inicio rápido:

  1. Borra el trabajo cron. En Cloud Shell o en la máquina en la que instalaste gcloud CLI, ejecuta el siguiente comando:

    gcloud scheduler jobs delete MY_JOB \
        --location="LOCATION"
    

    Reemplaza lo siguiente:

    • MY_JOB: Es el nombre del trabajo que se borrará.
    • LOCATION: Es la ubicación del trabajo. De forma predeterminada, usa la ubicación de la app de App Engine del proyecto actual si hay una app asociada.
  2. Borra el tema de Pub/Sub. En Cloud Shell o en la máquina en la que instalaste gcloud CLI, ejecuta el comando:

    gcloud pubsub topics delete TOPIC_ID
    

    Reemplaza TOPIC_ID por el ID del tema de Pub/Sub que deseas borrar.

  3. Borra la suscripción a Pub/Sub. En Cloud Shell o en la máquina en la que instalaste gcloud CLI, ejecuta el siguiente comando:

    gcloud pubsub subscriptions delete SUBSCRIPTION_ID
    

    Reemplaza SUBSCRIPTION_ID por el ID de la suscripción de Pub/Sub que se borrará.

¿Qué sigue?