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 Komponente wählen.

Primär zeitbasierte Zeitpläne

Zeitbasierte Zeitpläne sind feste Pläne, die erfordern, dass ein Job innerhalb eines bestimmten Intervalls ausgeführt wird. Diese Jobs tolerieren nur eine minimale Verzögerung, sodass 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 neue Einträge in einer Datenbank prüft
  • ein CronJob, der alle 15 Minuten nach neu registrierten Benutzern sucht

Primär ressourcenbasierte Zeitpläne

Ressourcenbasierte Zeitpläne sind flexible Plä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 Verfügbarkeit und den Verbrauch von Ressourcen zu optimieren.

Gute Beispiele für ressourcenbasierte Zeitpläne

  • ein Job, der einen RSS-Feed überprüft und je nach verfügbaren Ressourcenpräferenzen mindestens einmal pro Woche, höchstens einmal pro Tag ausgeführt wird
  • ein Job, der GitHub-Pull-Requests prüft und verschiedene Testsuiten ausführt, wann immer Ressourcen verfügbar sind, aber mindestens einmal pro Tag

Umgebungsvariablen zur Laufzeit

variable settable description
DTZ_ACCESS_TOKEN yes (identity can be changed) JWT generate from the context that allows resources to be accessed within the context.
DTZ_CONTEXT_ID no DTZ context that the current application is running in