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