Jobs
Überblick
Jobs sind geplante Container, die entweder zeitbasiert oder ressourcenbasiert ausgelöst werden.
Planung
Alle Zeitpläne bestehen aus einer zeitbasierten und einer ressourcenbasierten Komponente. Aufgrund der unterschiedlichen Arbeitslasten kann der Benutzer entscheiden, welche Entität den Auslöser darstellt.
Primär zeitbasierte Zeitpläne
Zeitbasierte Zeitpläne sind fixe Zeitpläne, die erfordern, dass ein Job innerhalb eines bestimmten Intervalls ausgeführt wird. Diese Jobs tolerieren nur eine minimale Verzögerung, daher ist der Ressourcenverbrauch nur ein sekundärer Entscheidungsfaktor für das Auslösen eines Jobs.
Gute Beispiele für zeitbasierte Zeitpläne sind:
- ein CronJob, der alle 5 Minuten nach neuen Einträgen in einer Datenbank sucht
- ein CronJob, der alle 15 Minuten nach neu registrierten Benutzern sucht
Primär ressourcenbasierte Zeitpläne
Ressourcenbasierte Zeitpläne sind flexible Zeitpläne, die erfordern, dass ein Job innerhalb eines bestimmten Bereichs eines Intervalls ausgeführt wird. Diese Jobs tolerieren einen flexibleren Zeitplan, um die Verfügbarkeit und den Verbrauch von Ressourcen zu optimieren.
Gute Beispiele für ressourcenbasierte Zeitpläne sind:
- ein Job, der einen RSS-Feed überprüft, mindestens einmal pro Woche, höchstens einmal am Tag, abhängig von den verfügbaren Ressourcenpräferenzen
- ein Job, der GitHub Pull-Requests prüft und verschiedene Test-Suiten ausführt, wann immer Ressourcen verfügbar sind, aber mindestens einmal täglich
Umgebungsvariablen zur Laufzeit
variable | setzbar | Beschreibung |
---|---|---|
DTZ_ACCESS_TOKEN | ja (Identität kann geändert werden) | JWT, generiert aus dem Kontext, das den Zugriff auf Ressourcen innerhalb des Kontexts erlaubt. |
DTZ_CONTEXT_ID | nein | DTZ-Kontext, in dem die aktuelle Anwendung läuft |