Document ID: /fineweb-2-swissfilter-quality_10-filterrobots/filtered/03543.jsonl.gz/154

Welcher Softwareentwickler kennt sie nicht: die kleinen Scripts oder Aufgaben die man immer wieder ausführen muss. Häufig wird dafür der Task Scheduler verwendet. Doch auch mit Windows Azure lassen sich Programme aller Art in bestimmten Abständen wiederkehrend ausführen.
Unterstützte Programmtypen und Vorbereitung des Programmes
Azure Web Jobs unterstützt eine Vielzahl von verschiedenen Programmtypen wie z.B. unter anderem PowerShell Scripts (.ps1), Javascript (.js), Executables (.exe) und Java (.jar).
Für dieses Beispiel verenden wir eine einfache C# Konsolenapplikation. Deren Aufgabe es ist, nur eine kleine Nachricht auszugeben:
Wenn, wie in diesem Beispiel, keine weiteren Bibliotheken verwendet wurden, kann die .exe Datei einfach so ohne weitere Änderungen als Web Job verwendet werden. Wenn jedoch zusätzliche Bibliotheken wie z.B Microsoft.SharePoint.Client.Runtime.dll (zur Kommunikation des Web Jobs mit SharePoint) verwendet wurden, muss der gesamte Inhalt des Release-Ordners in ein Zip archiviert werden, welches dann als Web Job verwendet werden kann.
Erstellen des Webjobs auf Azure
Der Erste Schritt beim Erstellen eines neuen Web Jobs ist das Bereitstellen einer Web App.
Sobald die Web App bereitgestellt ist, kann auch schon der Web Job eingerichtet werden.
Hier kann nun gewählt werden um was für einen Typ es sich beim Web Job handelt:
- Fortlaufend ausgeführt: Wird nur einmal ausgeführt. Hier muss im Code selber eine Art von Loop implementiert werden um sicherzustellen, dass das Programm nicht von selbst endet.
- Ausgelöst: Kann manuell gestartet oder in einem bestimmten Intervall (CRON-Ausdruck) ausgeführt werden. Zusätzlich muss man hier auch den Namen des Web Jobs wählen und das Programm hochladen.
CRON-Ausdruck
Der Ausdruck Cron kommt vom griechischen Wort chronos (Zeit). In Azure Web Jobs wird der CRON-Ausdruck dafür verwendet, um einen Intervall zu definieren in dem der Job ausgeführt wird. Der Aufbau ist folgendermassen: Sekunde, Minute, Stunde, Tag, Monat, Wochentage.
Einige Beispiele von CRON-Ausdrücken:
– 0 */15 * * * * (alle 15 Minuten)
– 0 0 * * * * (jede Stunde)
– 0 0 12 * * * (jeden Tag um 12:00)
– 0 0 0 * * sun (jeden Sonntag um 00:00)
– 0 0/15 * * * mon,tue,wed,thu,fri (alle 15 Minuten, ausser Samstag und Sonntag)
Nach dem Speichern ist der Web Job eingerichtet. Je nach Intervall macht es Sinn, den Job einmal manuell auszuführen um seine Funktionalität zu testen. Im Protokoll kann man praktisch überprüfen ob ein Job erfolgreich durchgelaufen ist oder ob es einen Fehler gegeben hat.
Da man einen ausgelösten Web Job nicht debuggen kann (ein fortlaufend ausgeführter Job kann remote debuggt werden), ist es wichtig den Code so zu implementieren, dass alle Fehler geloggt werden. Denn alles was in der Console ausgegeben wird, sollte auch im Protokoll festgehalten werden.
Fazit
Mit Azure Web Jobs können auf einfache Weise wiederkehrende Aufgaben erstellt und ausgeführt werden. Die vielen unterstützenden Dateiformate sowie die flexible Definition von Intervallen geben dem Entwickler grosse Freiheiten.
Christian Rothen
Software Engineer Solutions