Planifier et exécuter une job Cron à l'aide de la gcloud CLI

Ce guide de démarrage rapide vous montre comment utiliser la gcloud CLI pour effectuer des opérations de base à l'aide de Cloud Scheduler.

Dans le cadre de ce guide démarrage rapide, vous allez effectuer les étapes suivantes :

  1. Créer un sujet Pub/Sub à configurer en tant que Cloud Scheduler cible du job.
  2. Créez un job Cron à l'aide de Cloud Scheduler et configurez un calendrier récurrent pour ce job.
  3. Exécutez votre tâche.
  4. vérifier que la tâche a bien été exécutée.

Une version gratuite de Cloud Scheduler est disponible. Par conséquent, l'exécution de ce démarrage rapide ne vous coûtera rien. Pour en savoir plus, reportez-vous à la page Tarifs.

Avant de commencer

  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

Créer un sujet et un abonnement Pub/Sub

Un sujet Pub/Sub est une ressource à laquelle les éditeurs peuvent envoyer des messages. Pour recevoir des messages publiés dans un sujet, vous devez créer un abonnement associé à ce sujet.

  1. Configurez un sujet Pub/Sub à utiliser comme cible pour votre tâche Cron :

    gcloud pubsub topics create cron-topic
    

    Cette opération crée un sujet appelé cron-topic.

  2. Pour recevoir des messages et afficher les résultats de votre job, créez un Abonnement Pub/Sub:

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

Créer un job Cron à l'aide de Cloud Scheduler

Utilisez le gcloud scheduler jobs create pubsub pour configurer une unité de travail appelée tâche Cron qui est envoyée une cible Pub/Sub selon un calendrier récurrent. Le calendrier est spécifié dans un format basé sur unix-cron. Pour en savoir plus, consultez la section Format et fuseau horaire des tâches Cron.

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

Vous avez créé un job qui envoie un message "Hello world" à votre serveur Pub/Sub, à 16h30 le dimanche.

Vous pouvez maintenant exécuter la tâche.

Exécuter votre tâche

En plus de l'exécuter selon la planification spécifiée, vous pouvez forcer l'exécution immédiate de votre tâche :

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

Notez qu'en raison d'une configuration initiale, l'exécution de la première tâche créée dans un projet peut prendre quelques minutes.

Vous pouvez ensuite vérifier que votre sujet Pub/Sub a reçu le message.

Vérifier les résultats dans Pub/Sub

Vérifiez que votre sujet Pub/Sub reçoit les messages de votre tâche.

  1. Extrayez des messages Pub/Sub d'un abonnement :

    gcloud pubsub subscriptions pull cron-sub --limit 5
    

    Si aucun message n'a été initialement récupéré, exécutez de nouveau la commande.

  2. Consultez les résultats de l'exécution de votre tâche. Le résultat doit ressembler à ce qui suit :

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

Effectuer un nettoyage

Pour éviter que les ressources utilisées sur cette page ne soient facturées sur votre compte Google Cloud, supprimez le projet Google Cloud contenant les ressources.

    Delete a Google Cloud project:

    gcloud projects delete PROJECT_ID

Vous pouvez également supprimer les ressources que vous avez créées pour ce démarrage rapide :

  1. Supprimez la tâche Cron. Dans Cloud Shell ou sur la machine sur laquelle vous avez installé la gcloud CLI, exécutez la commande suivante :

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

    Remplacez les éléments suivants :

    • MY_JOB: nom de la tâche à supprimer.
    • LOCATION: lieu de l'offre d'emploi. Par défaut, utilise l'emplacement de l'application App Engine du projet en cours si une application est associée.
  2. Supprimez le sujet Pub/Sub. Dans Cloud Shell ou sur le machine sur laquelle vous avez installé la gcloud CLI, exécutez la commande suivante:

    gcloud pubsub topics delete TOPIC_ID
    

    Remplacez TOPIC_ID par l'ID du sujet Pub/Sub à supprimer.

  3. Supprimez l'abonnement Pub/Sub. Dans Cloud Shell ou sur la machine sur laquelle vous avez installé la gcloud CLI, exécutez la commande suivante:

    gcloud pubsub subscriptions delete SUBSCRIPTION_ID
    

    Remplacez SUBSCRIPTION_ID par l'ID de Abonnement Pub/Sub à supprimer.

Étape suivante