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