Programa y ejecuta un trabajo cron con la consola Google Cloud

En esta guía de inicio rápido, se muestra cómo usar la consola de Google Cloud 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 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.


Para seguir la guía paso a paso sobre esta tarea directamente en la consola Google Cloud , haz clic en Guiarme:

Guiarme


Antes de comenzar

  1. Accede a tu cuenta de Google Cloud . Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.

  4. Verify that billing is enabled for your Google Cloud project.

  5. Enable the Cloud Scheduler and Pub/Sub APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

  6. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  7. If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.

  8. Verify that billing is enabled for your Google Cloud project.

  9. Enable the Cloud Scheduler and Pub/Sub APIs.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the APIs

Roles obligatorios

Si quieres obtener los permisos que necesitas para completar esta guía de inicio rápido, pídele a tu administrador que te otorgue los siguientes roles de IAM en tu proyecto:

Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

También puedes obtener los permisos necesarios a través de roles personalizados o cualquier otro rol predefinido.

Crear un tema de Pub/Sub y una suscripción

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. En la consola de Google Cloud , ve a la página de Pub/Sub.

    Ir a Pub/Sub

  2. Haz clic en Crear un tema.

  3. En el campo ID de tema, ingresa cron-topic como el ID de tu tema.

  4. Conserva los valores predeterminados, incluida la opción Agregar una suscripción predeterminada.

  5. No selecciones ninguna otra opción.

  6. Haz clic en Crear.

Esto crea un tema de Pub/Sub llamado cron-topic y una suscripción a ese tema llamada cron-topic-sub.

Crea un trabajo cron con Cloud Scheduler

Configura una unidad de trabajo programada, conocida como trabajo cron, que se envía a un destino en un programa recurrente.

  1. En la consola Google Cloud , ve a la página Cloud Scheduler.

    Ir a Cloud Scheduler

  2. Haz clic en Create job.

  3. Asigna un nombre a tu trabajo.

  4. En la lista Región, selecciona una región para el trabajo.

  5. Especifica una frecuencia para tu trabajo en un formato basado en unix-cron. Por ejemplo:

    30 16 * * 7
    

    Para obtener más información, consulta Configura trabajo cron cron.

  6. En la lista Zona horaria, selecciona una zona horaria.

    Para algunas zonas horarias, el horario de verano puede hacer que los trabajos se ejecuten o no de forma inesperada. Para obtener más información, consulta Zona horaria.

  7. Haz clic en Continuar.

  8. En la lista Tipo de destino, selecciona Pub/Sub.

  9. Selecciona el tema que creaste anteriormente: cron-topic.

  10. En el campo Cuerpo del mensaje, ingresa una cadena que se enviará al tema de destino de Pub/Sub. Por ejemplo: “¡Hola mundo!”

  11. Haz clic en Crear.

Creaste un trabajo que envía un mensaje a un tema de Pub/Sub a las 16:30 los domingos. Ahora puedes ejecutar el trabajo.

Ejecuta tu trabajo

Además de ejecutarse según el programa especificado, puedes forzar la ejecución inmediata de tu trabajo.

  1. En la consola Google Cloud , ve a la página Cloud Scheduler.

    Ir a Cloud Scheduler

    Tu trabajo debería aparecer en la lista.

  2. En la fila de tu trabajo, haz clic en Acciones > Forzar ejecución.

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

  3. En la columna Estado de la última ejecución, el estado Success indica que ejecutaste tu trabajo cron de forma correcta.

A continuación, puedes verificar que Pub/Sub haya recibido el mensaje.

Verifica los resultados en Pub/Sub

Verifica que tu tema de Pub/Sub esté recibiendo mensajes de tu trabajo extrayendo mensajes de Pub/Sub de la suscripción.

  1. En la consola de Google Cloud , ve a la página Suscripciones de Pub/Sub.

    Ir a Pub/Sub

  2. Haz clic en la suscripción de tu tema de Pub/Sub.

  3. Haz clic en la pestaña Mensajes.

  4. Haz clic en Extraer.

Deberías ver el mensaje que publicaste, con el cuerpo del mensaje, Hello world, y la hora en que se publicó.

Realiza una limpieza

Sigue estos pasos para evitar que se apliquen cargos a tu cuenta de Google Cloud por los recursos que usaste en esta página.

  1. Borra el trabajo cron que creaste:

    1. En la consola Google Cloud , ve a la página Cloud Scheduler.

      Ir a Cloud Scheduler

    2. Selecciona la casilla de verificación de tu trabajo.

    3. Haz clic en Borrar y confirma la eliminación.

  2. Borra el tema de Pub/Sub:

    1. En la consola de Google Cloud , ve a la página Pub/Sub.

      Ir a Pub/Sub

    2. Selecciona la casilla de verificación de tu tema.

    3. Haz clic en Borrar y confirma la eliminación.

  3. Borra la suscripción a Pub/Sub .

    1. En la consola de Google Cloud , ve a la página Pub/Sub.

      Ir a Pub/Sub

    2. Selecciona la casilla de verificación de tu suscripción.

    3. Haz clic en Borrar y confirma la eliminación.

  4. Como alternativa, si creaste un proyecto nuevo para obtener más información sobre Cloud Scheduler y ya no lo necesitas, bórralo:

    1. En la Google Cloud consola, ve a la página Administrar recursos.

      Ir a Administrar recursos

    2. En la lista de proyectos, elige el proyecto que quieres borrar y haz clic en Borrar.
    3. En el diálogo, escribe el ID del proyecto y, luego, haz clic en Cerrar para borrar el proyecto.

¿Qué sigue?