Jobs
Übersicht
Jobs sind geplante Container, die entweder zeit- oder ressourcenbasiert ausgelöst werden.
Zeitplanung
Alle Zeitpläne haben eine zeitbasierte und eine ressourcenbasierte Komponente. Aufgrund der Beschaffenheit verschiedener Workloads kann der Benutzer die auslösende Entität wählen.
Vorrangig zeitbasierte Zeitpläne
Zeitbasierte Zeitpläne sind feste Zeitpläne, die verlangen, dass ein Job innerhalb eines bestimmten Intervalls ausgeführt wird. Diese Jobs tolerieren nur eine minimale Verzögerung, weshalb der Ressourcenverbrauch nur ein sekundärer Entscheidungsfaktor für das Auslösen eines Jobs ist.
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
Vorrangig 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 können einen flexibleren Zeitplan tolerieren, um die Ressourcenverfügbarkeit und -nutzung zu optimieren.
Gute Beispiele für ressourcenbasierte Zeitpläne
- ein Job, der einen RSS-Feed prüft und je nach verfügbaren Ressourcenpräferenzen mindestens einmal pro Woche und höchstens einmal pro Tag ausgeführt wird
- ein Job, der GitHub-Pull-Requests überprüft und verschiedene Test-Suiten ausführt, wann immer Ressourcen verfügbar sind, aber mindestens einmal pro Tag
Umgebungsvariablen zur Laufzeit
| variable | settable | description |
|---|---|---|
| DTZ_ACCESS_TOKEN | ja (Identität kann geändert werden) | JWT, das aus dem Kontext generiert wird und den Zugriff auf Ressourcen innerhalb dieses Kontexts erlaubt. |
| DTZ_CONTEXT_ID | nein | DTZ-Kontext, in dem die aktuelle Anwendung läuft |