Planen von Aufgaben in Cloud Foundry

Cloud

Planen von Aufgaben in Cloud Foundry

Mit dem Task-Scheduler-Dienst in der Swisscom Application Cloud kannst du Aufgaben für deine Anwendungen planen und automatisch ausführen lassen. Du kannst damit die regelmäßige Ausführung beliebiger Aufgaben in der Application Cloud planen, einschließlich Datenbankmigrationen, E-Mails, Batch-Jobs usw.

Was sind Aufgaben?

Während du die Swisscom Application Cloud wahrscheinlich die meiste Zeit nutzt, um lang laufende Prozesse (oder "Apps", wie sie allgemein genannt werden) zu pushen, gibt es gelegentliche Anwendungsfälle für Aufgaben.

Tasks werden in Cloud Foundry als Prozesse definiert, die nur für einen begrenzten Betrag laufen und dann aufhören. Eine Aufgabe läuft in ihrem eigenen Container und übernimmt die Speicher- und Festplattenbeschränkungen ihrer Eltern-App und sollte so konzipiert sein, dass sie während der Ausführung einer "Aufgabe" möglichst wenig Ressourcen verbraucht. Wenn eine solche Aufgabe beendet wird, zerstört und entfernt Cloud Foundry diesen Container wieder. Aufgaben können auch auf ihren aktuellen Status und auf eine Erfolgs- oder Fehlermeldung überprüft werden, nachdem sie beendet wurden.

Aufgaben sind ein Beispiel für einen einmaligen oder bedarfsgesteuerten Job, der eine bestimmte Arbeit erledigen und dann beendet werden muss:

  • Eine Datenbankmigration durchführen
  • E-Mails verschicken
  • Batch-Jobs ausführen
  • Dateneingabe/-ausgabe verarbeiten
  • Laufende Backups
  • etc.

Die Dokumentation zur Verwendung von Aufgaben in Cloud Foundry findest du hier: https://docs.developer.swisscom.com/devguide/using-tasks.html

Was ist der Task-Scheduler?

Aufgaben sind zwar ein großartiges Werkzeug, um kurz laufende Prozesse oder Batch-Jobs auszuführen, aber sie manuell auszulösen, kann ziemlich mühsam sein. Vielleicht möchtest du deine tägliche Datenbanksicherung um zwei Uhr nachts durchführen oder alle 15 Minuten Daten verarbeiten? In all diesen Fällen ist eine automatische Zeitplanung erforderlich.

Gib den Task-Scheduler-Dienst ein

Auf der Swisscom Application Cloud steht dir der Task-Scheduler Service zur Verfügung, der dich bei der Planung von Aufgaben unterstützt.

Es handelt sich um ein verteiltes, hochverfügbares System, das im Backend läuft. Es nimmt Planungsanfragen von Cloud Foundry-Benutzern entgegen, erstellt und verwaltet Jobs und deren Zeitplan und führt diese Jobs als Aufgaben auf Cloud Foundry zur geplanten Zeit und zum geplanten Datum aus.

Die Integration in den Marktplatz erfolgt über die standardisierte Open Service Broker API(öffnet ein neues Fenster), um die Erfahrung für alle Nutzer der Swisscom Application Cloud nahtlos zu machen. So kann ein Nutzer einfach Service-Instanzen erstellen, diese an seine Anwendungen binden und Aufgaben definieren, die über die CF CLI(öffnet ein neues Fenster) geplant werden sollen, ohne dass zusätzliche Tools erforderlich sind.

Überblick über die Task-Scheduler-Architektur

Toll, wie benutze ich es?

Um den Task-Scheduler zu verwenden, musst du zunächst eine Dienstinstanz erstellen.

Überprüfe den Marktplatz. Dort sollte der Task-Scheduler-Dienst aufgelistet sein, dann erstelle eine neue Dienstinstanz:

Sobald die Service-Instanz erstellt wurde, kannst du sie an eine bestehende App binden. Während der Bindung gibst du über Bindungsparameter den gewünschten Zeitplan, die Aufgabe und optional die Speicher-/Festplattenbegrenzung an. Der Dienst kann an so viele verschiedene Apps gebunden werden, wie du möchtest. Die Bindung dient nur als Registrierungsaktion für den Task-Scheduler-Dienst:

Nachdem du eine Task-Scheduler-Instanz an deine App gebunden hast, wird die konfigurierte Aufgabe automatisch nach dem angegebenen Cron-Zeitplan ausgeführt. Um die geplante Aufgabe wieder zu entfernen, musst du nur die Bindung des Dienstes an die App aufheben.

Laufende oder abgeschlossene Aufgaben können mit dem CF CLI überprüft werden:

Und das war's auch schon. Wir wünschen dir eine glückliche Terminplanung!?

Siehe auch:
Task-Scheduler Dokumentation(öffnet ein neues Fenster)

Fabio Berchtold

Fabio Berchtold

Senior Cloud Engineer

Mehr getIT-Beiträge

Bereit für Swisscom

Finde deinen Job oder die Karrierewelt, die zu dir passt. In der du mitgestalten und dich weiterentwickeln willst.

Was du draus machst, ist was uns ausmacht.

Zu den Karrierewelten

Zu den offenen Security Stellen