Planifier des tâches dans Cloud Foundry

Cloud

Planifier des tâches dans Cloud Foundry

Avec le service de planification des tâches dans le Swisscom Application Cloud, tu peux planifier des tâches pour tes applications et les exécuter automatiquement. Tu peux ainsi planifier l'exécution régulière de n'importe quelle tâche dans l'Application Cloud, y compris les migrations de bases de données, les e-mails, les tâches par lots, etc.

Que sont les tâches?

Pendant que tu es Swisscom Application Cloud probablement la plupart du temps pour pousser des processus à longue durée d'exécution (ou "apps", comme on les appelle généralement), il y a des cas d'utilisation occasionnels pour les tâches.

Les tâches sont définies dans Cloud Foundry comme des processus qui ne fonctionnent que pour un montant limité et qui s'arrêtent ensuite. Une tâche s'exécute dans son propre conteneur et prend en charge les restrictions de mémoire et de disque de son application parent et doit être conçue de manière à consommer le moins de ressources possible pendant l'exécution d'une "tâche". Lorsqu'une telle tâche est terminée, Cloud Foundry détruit et supprime ce conteneur. Les tâches peuvent également être vérifiées quant à leur état actuel et à un message de réussite ou d'erreur après leur fin.

Les tâches sont un exemple de travail unique ou à la demande qui doit effectuer un certain travail et se terminer ensuite:

  • Effectuer une migration de base de données
  • Envoyer des e-mails
  • Exécuter des jobs par lots
  • Traiter les entrées/sorties de données
  • Sauvegardes en cours
  • etc.

Tu peux trouver la documentation sur l'utilisation des tâches dans Cloud Foundry ici: https://docs.developer.swisscom.com/devguide/using-tasks.html

Qu'est-ce que le planificateur de tâches?

Les tâches sont un excellent outil pour exécuter des processus à court terme ou des tâches par lots, mais les déclencher manuellement peut être assez fastidieux. Tu veux peut-être effectuer ta sauvegarde quotidienne de la base de données à deux heures du matin ou traiter des données toutes les 15 minutes?  Dans tous ces cas, une planification automatique est nécessaire.

Saisis le service du planificateur de tâches

Sur le cloud d'application Swisscom, tu as à ta disposition le service de planification des tâches, qui t'aide à planifier les tâches.

Il s'agit d'un système distribué, hautement disponible, qui fonctionne dans le backend. Il reçoit les demandes de planification des utilisateurs de Cloud Foundry, crée et gère les tâches et leur calendrier et exécute ces tâches en tant que tâches sur Cloud Foundry à l'heure et à la date prévues.

L'intégration dans la place de marché se fait via la norme Open Service Broker API(ouvre une nouvelle fenêtre), pour rendre l'expérience transparente pour tous les utilisateurs de Swisscom Application Cloud.Ainsi, un utilisateur peut facilement créer des instances de service, les lier à ses applications et définir des tâches qui peuvent être exécutées via les CF CLI(ouvre une nouvelle fenêtre) être planifiés sans avoir besoin d'outils supplémentaires.

Aperçu de l'architecture du planificateur de tâches

Super, comment l'utiliser?

Pour utiliser le planificateur de tâches, tu dois d'abord créer une instance de service.

Vérifie sur le marché. Le service Task Scheduler devrait y être listé, puis crée une nouvelle instance de service:

Une fois que l'instance de service a été créée, tu peux la lier à une application existante. Pendant la liaison, tu spécifies l'horaire souhaité, la tâche et éventuellement la limite de mémoire/disque dur via les paramètres de liaison. Le service peut être lié à autant d'applications différentes que tu le souhaites. La liaison sert uniquement d'action d'enregistrement pour le service de planification des tâches:

Après avoir lié une instance de planificateur de tâches à ton application, la tâche configurée sera automatiquement exécutée selon le calendrier Cron indiqué. Pour supprimer la tâche planifiée, il te suffit de défaire le lien entre le service et l'application.

Les tâches en cours ou terminées peuvent être vérifiées avec le CLI CF:

Et c'est à peu près tout. Nous te souhaitons un emploi du temps heureux!?

Voir aussi:
Task-Scheduler Dokumentation(ouvre une nouvelle fenêtre)

Fabio Berchtold

Fabio Berchtold

Senior Cloud Engineer

Plus d’articles getIT

Prêts pour Swisscom

Trouve le Job ou l’univers professionnel qui te convient. Où tu veux co-créer et évoluer.

Ce qui nous définit, c’est toi.

Vers les univers professionnels

Vers les postes vacants cybersécurité