Agence web » Actualités du digital » Comment exécuter périodiquement des fonctions cloud GCP avec Cloud Scheduler

Comment exécuter périodiquement des fonctions cloud GCP avec Cloud Scheduler

comment-executer-periodiquement-des-fonctions-cloud-gcp-avec-cloud-scheduler-2586497

Si vous souhaitez exécuter du code régulièrement, comme une tâche cron, vous pouvez utiliser Cloud Scheduler de Google Cloud Platform pour exécuter automatiquement des fonctions Cloud sans serveur à des intervalles de temps fixes, sans utiliser de serveurs réels.

Qu'est-ce que Cloud Scheduler?

Cloud Scheduler se présente comme "Managed Cron as a Service". Il vous permet de planifier des tâches à l'aide de la syntaxe cron. Cependant, il ne remplace que le composant de planification de cron. Cloud Scheduler n'est pas un service de calcul, et il ne peut envoyer que des requêtes HTTP ou envoyer des messages pub / sub, donc à lui seul, sa portée est assez limitée.

L'une des applications les plus utiles du planificateur est de déclencher des fonctions Cloud Functions à intervalles réguliers. Cloud Functions exécute du code sans serveur, à l'aide de divers environnements d'exécution tels que JavaScript avec Node, Python ou Java. Vous pouvez configurer Cloud Functions pour déclencher des notifications Pub / Sub, que Cloud Scheduler peut envoyer, de sorte que vous vous retrouvez avec un système dans lequel vous pouvez exécuter régulièrement du code sans serveur à l'aide de la syntaxe cron.

Si le code que vous devez exécuter doit se produire sur un serveur spécifique, la meilleure option est toujours d'utiliser simplement cron local pour exécuter les scripts dont vous avez besoin. Cependant, si vous pouvez créer un script avec JavaScript / Python et que vous ne vous souciez pas de l'environnement d'exécution de la fonction, Cloud Functions le gérera bien sans que vous ayez à configurer un serveur.

Configuration d'une fonction programmée

Rendez-vous sur la console Cloud Functions pour configurer une fonction. Vous n'avez pas besoin de créer une nouvelle fonction, car vous pouvez simplement modifier une fonction existante pour exécuter les messages Pub / Sub.

Donnez-lui un nom, choisissez la quantité de RAM à lui allouer et basculez-le sur "Cloud Pub / Sub" comme déclencheur.

1595343988_474_comment-executer-periodiquement-des-fonctions-cloud-gcp-avec-cloud-scheduler-9630322

Vous devrez sélectionner ou créer un sujet Pub / Sub auquel la fonction pourra s’abonner.

1595343988_904_comment-executer-periodiquement-des-fonctions-cloud-gcp-avec-cloud-scheduler-2830480

Donnez-lui un nom, puis cliquez sur "Créer un sujet".

1595343988_112_comment-executer-periodiquement-des-fonctions-cloud-gcp-avec-cloud-scheduler-3738876

Une fois que cela est fait, vous pouvez importer votre code, soit en le collant en ligne, soit en important un zip, soit en associant un référentiel Cloud Source.

1595343988_211_comment-executer-periodiquement-des-fonctions-cloud-gcp-avec-cloud-scheduler-9999057

Rendez-vous sur la console Cloud Scheduler pour créer la tâche cron.

1595343988_371_comment-executer-periodiquement-des-fonctions-cloud-gcp-avec-cloud-scheduler-3873851

Donnez-lui un nom et définissez la fréquence à l'aide de la syntaxe cron. Vous pouvez lire notre guide de cron ou utiliser cet outil en ligne pour vous aider dans la planification. La syntaxe générale est:

minute hour day month weekday

Définissez la cible sur Pub / Sub et entrez le nom de rubrique que vous avez créé pour la fonction.

1595343989_253_comment-executer-periodiquement-des-fonctions-cloud-gcp-avec-cloud-scheduler-1704856

La fonction devrait maintenant s'exécuter automatiquement, mais vous pouvez cliquer sur «Exécuter maintenant» dans Cloud Scheduler pour la tester. Vous pouvez également afficher les journaux des exécutions précédentes à partir de ce panneau.

1595343989_935_comment-executer-periodiquement-des-fonctions-cloud-gcp-avec-cloud-scheduler-8992140

Si la fonction ne s’exécute pas correctement, vérifiez les journaux de la fonction Cloud pour vous assurer qu’elle répond aux demandes. S'il reçoit des demandes, il s'agit probablement d'une erreur avec votre code, et si ce n'est pas le cas, il s'agit probablement d'une erreur ou d'une faute d'orthographe avec le sujet Pub / Sub.

★★★★★