Erläuterungen zu Jobs

Ein Job ist eine Aktion, die Autonomous Linux für eine oder mehrere Instanzen ausführt, z.B. das Installieren von Updates oder das Anhängen von Softwarequellen. Wenn ein Job ausgeführt wird, wird eine Arbeitsanforderung erstellt, die die Aufgaben ausführt, die zum Erfüllen des Jobs erforderlich sind, Aufgaben an Instanzen übermittelt und die Ergebnisse an den Service zurückgibt.

Ein Job kann sofort ausgeführt werden, oder Sie können ihn so einstellen, dass er zu einem späteren Zeitpunkt oder als wiederkehrendes Ereignis ausgeführt wird. Dies ist ein geplanter Job. Sie können einen geplanten Job bei einem Fehler automatisch wiederholen. Wenn die automatische Wiederholung ausgewählt wird und der geplante Job bei der ersten Ausführung nicht erfolgreich verläuft, wiederholt der Service den geplanten Job bis zu drei Mal im Abstand von jeweils fünf Minuten. Geplante Jobs können auch getaggt werden.

Geplanter Jobstatus

Geplante Jobs haben einen der folgenden Status:

  • Nächste Ausführung: Datum und geplante Uhrzeit zur Ausführung des Jobs.
  • Häufigkeit: Gibt an, ob der Job so eingestellt ist, dass er nach einem wiederkehrenden Zeitplan ausgeführt wird oder nur einmal ausgeführt wird.
  • Ziele: Gibt die Anzahl der Zielinstanzen für den Job an.

Arbeitsanforderungsstatus

Nachdem ein Job als Arbeitsanforderung disponiert wurde, ist er entweder in Bearbeitung oder abgeschlossen.

  • In Bearbeitung befindliche Arbeitsanforderungen melden die folgenden möglichen Statuswerte:
    • Akzeptiert: Der Service hat den Job akzeptiert und ist für Instanzen bereit. Wenn ein Job nicht von einem Agent übernommen wird und 24 Stunden lang im Status "Akzeptiert" bleibt, kennzeichnet der Service den Job als "Nicht erfolgreich".
    • In Bearbeitung: Ein Agent hat die akzeptierte Arbeit aufgenommen und führt sie auf einer Instanz aus.
    • Wird abgebrochen: Der Job wird abgebrochen.
  • Abgeschlossene Arbeitsanforderungen melden die folgenden möglichen Statuswerte:
    • Erfolgreich: Der Job wurde ohne Fehler abgeschlossen.
    • Nicht erfolgreich: Der Job war nicht erfolgreich.
    • Abgebrochen: Der Job wurde storniert.

Sie können die detaillierten Ergebnisse eines Jobs anzeigen, indem Sie das Joblog und die Fehlermeldungen anzeigen. Wenn ein Job eine Hierarchie aufweist und ein untergeordneter Job nicht erfolgreich verläuft, kennzeichnet der Service den übergeordneten Job als nicht erfolgreich.

Fehlgeschlagenen Job erneut ausführen

Wenn ein Job nicht erfolgreich ist, können Sie den nicht erfolgreichen Job erneut ausführen, anstatt einen neuen Job manuell zu erstellen, um die nicht erfolgreiche Aktion zu wiederholen. Sie können einen nicht erfolgreichen Job sofort erneut ausführen oder die Ausführung zu einem späteren Zeitpunkt planen. Wenn Sie den Job erneut ausführen, wird eine neue Arbeitsanforderung für dieselbe Aktion erstellt (z.B. Einspielen von Updates oder Anhängen von Softwarequellen). Der ursprüngliche Job und sein Status bleiben für Auditing- und historische Zwecke unverändert.

Bei Jobs in einer Hierarchie können Sie den übergeordneten Job erneut ausführen, um alle Jobs in der Hierarchie erneut auszuführen, oder untergeordnete Jobs einzeln erneut ausführen. Wenn Sie ein nicht erfolgreiches übergeordnetes Element erneut ausführen, richtet sich der Service nur an die nicht erfolgreichen untergeordneten Jobs. Beispiel: Angenommen, Sie haben eine Gruppe von zehn Instanzen, und ein Aktualisierungsjob verläuft auf drei Instanzen nicht erfolgreich. Nachdem Sie das Joblog und die Fehlermeldungen geprüft und die gemeldeten Probleme behoben haben, können Sie den nicht erfolgreichen Job für die Gruppe erneut ausführen. Die erneute Ausführung zielt nur auf die drei Instanzen ab, bei denen der ursprüngliche Fehler aufgetreten ist.

Eingeschränkter geplanter Job

Jede Instanz in Autonomous Linux hat einen eingeschränkten geplanten Job mit dem Aktualisierungstyp "Alle", der täglich ausgeführt wird, um die Instanz auf dem neuesten Stand zu halten. Dies wird als Autonome Updates-Job bezeichnet. Sie können die Tageszeit bearbeiten, zu der der Job ausgeführt wird. Sie können die Häufigkeit jedoch nicht ändern oder den Job löschen.

Jobhierarchie

Einige Jobs sind in kleinere Aufgaben unterteilt. Der Service erstellt eine Jobhierarchie, in der der erste Job der "übergeordnete" und die kleineren Aufgaben "untergeordnete" ist. Bei größeren Jobs oder Jobs, die sich auf mehrere Instanzen auswirken, können Sie problemlos ermitteln, welche Aufgaben in einem Job erfolgreich oder nicht erfolgreich waren. Sie können untergeordnete Jobs auf der Registerkarte Arbeitsanforderungen auf der Detailseite des übergeordneten Jobs anzeigen.

Beispiel: Ein Aktualisierungsjob "Alle" erstellt untergeordnete Jobs für jeden Aktualisierungstyp: Sicherheit, Fehlerbehebung, Verbesserung, Sonstiges.

--Update All (parent)
  |--Update Security    (child)
  |--Update Bug fix     (child)
  |--Update Enhancement (child)
  |--Update Other       (child)

Ein Job befindet sich im selben Compartment wie die zugehörige Ressource. Für Jobs, die einer Gruppe zugeordnet sind, kann dies bedeuten, dass sich die übergeordneten und untergeordneten Jobs in verschiedenen Compartments befinden. Der übergeordnete Job befindet sich im Compartment, das mit der Gruppe verknüpft ist, während sich die untergeordneten Jobs im Compartment befinden, das mit jeder Instanz verknüpft ist. Best Practices finden Sie unter Überlegungen zu Compartments.

Beispiel: Wenn Sie einer Gruppe mit drei Mitgliedern eine Softwarequelle hinzufügen, wird ein einzelner übergeordneter Job mit drei untergeordneten Jobs erstellt, einer für jede Instanz.
--Set software sources for dev group (parent in dev compartment)
  |--Set software source Instance 1 (child in dev compartment)
  |--Set software source Instance 2 (child in test compartment)
  |--Set software source Instance 3 (child in preview compartment)