Jobs
Übersicht
Jobs sind geplante Container, die entweder zeit- oder ressourcenbasiert ausgelöst werden.
Planung
Alle Zeitpläne haben eine zeitbasierte und eine ressourcenbasierte Komponente. Aufgrund der unterschiedlichen Arbeitslasten kann der Benutzer die auslösende Entität bestimmen.
Vorwiegend zeitbasierte Zeitpläne
Zeitbasierte Zeitpläne sind feste Zeitpläne, bei denen ein Job innerhalb eines bestimmten Intervalls ausgeführt werden muss. Diese Jobs tolerieren nur eine minimale Verzögerung, daher ist der Ressourcenverbrauch nur ein sekundärer Entscheidungsfaktor für die Auslösung eines Jobs.
Gute Beispiele für zeitbasierte Zeitpläne sind:
- ein CronJob, der alle 5 Minuten nach neuen Datensätzen in einer Datenbank sucht
- ein CronJob, der alle 15 Minuten nach neu registrierten Benutzern sucht
Vorwiegend ressourcenbasierte Zeitpläne
Ressourcenbasierte Zeitpläne sind flexible Zeitpläne, bei denen ein Job innerhalb eines bestimmten Intervallbereichs ausgeführt werden muss. Diese Jobs tolerieren einen flexibleren Zeitplan, um die Ressourcennutzung und -verfügbarkeit zu optimieren.
Gute Beispiele für ressourcenbasierte Zeitpläne sind:
- ein Job, der einen RSS-Feed prüft, mindestens einmal pro Woche, höchstens einmal täglich, abhängig von den verfügbaren Ressourcenpräferenzen
- ein Job, der GitHub Pull-Requests prüft und verschiedene Test-Suites ausführt, wann immer Ressourcen verfügbar sind, aber mindestens einmal täglich
Umgebungsvariablen zur Laufzeit
| Variable | Einstellbar | Beschreibung |
|---|---|---|
| DTZ_ACCESS_TOKEN | ja (Identität kann geändert werden) | JWT, das aus dem Kontext generiert wird und den Zugriff auf Ressourcen innerhalb des Kontexts erlaubt. |
| DTZ_CONTEXT_ID | nein | DTZ-Kontext, in dem die aktuelle Anwendung ausgeführt wird |