Abhängige Jobs planen

In diesem Dokument wird beschrieben, wie Sie einen Job erstellen und ausführen, der erst dann geplant wird, wenn bestimmte Jobs erfolgreich oder fehlgeschlagen sind. Weitere Informationen zu Jobstatus finden Sie unter Joberstellung und ‑ausführung – Übersicht.

Wenn Sie eine Arbeitslast mit unterschiedlichen Ressourcenanforderungen haben, können Sie abhängige Jobs verwenden, um eine automatisierte Jobkette zu erstellen, für die jeweils separate VMs verwendet werden. Trennen Sie beispielsweise die VM-Typen, die für arbeitsintensive Vorgänge (z. B. Datenvorbereitung) und rechenintensive Vorgänge (z. B. Datenverarbeitung) verwendet werden. Wenn Sie abhängige Jobs verwenden, um den Ressourcenverbrauch zu optimieren, können Sie Kosten und Kontingentnutzung senken.

Hinweise

  1. Wenn Sie Batch noch nicht verwendet haben, lesen Sie den Hilfeartikel Batch-Dateien erstellen und ausführen und aktivieren Sie Batch, indem Sie die Voraussetzungen für Projekte und Nutzer erfüllen.
  2. Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Erstellen eines Jobs benötigen:

    Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

    Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.

Beschränkungen

Für abhängige Jobs gelten die folgenden Einschränkungen:

  • Ein abhängiger Job kann bis zu vier Abhängigkeiten haben. Jede Abhängigkeit muss einen eindeutigen Jobnamen und einen der folgenden erforderlichen Status enthalten:

    • SUCCEEDED: erfolgreich
    • FAILED: fehlgeschlagen
    • FINISHED: „Erfolgreich“ oder „Fehlgeschlagen“
  • Wenn Sie einen abhängigen Job erstellen, müssen alle zugehörigen abhängigen Jobs vorhanden sein.

  • Ein abhängiger Job kann den Status „Geplant“ (SCHEDULED) erst dann erreichen, wenn alle abhängigen Jobs den erforderlichen Status erreicht haben. Wenn es für einen abhängigen Job nicht möglich ist, den erforderlichen Status zu erreichen, schlägt er sofort fehl, ohne geplant zu werden.

Abhängigen Job erstellen

Sie können einen abhängigen Job erstellen. Dazu stehen Ihnen die folgenden Methoden zur Verfügung:

Wenn Sie angeben möchten, dass ein Job abhängig ist, fügen Sie das Feld dependencies[].items in den Haupttext der JSON-Datei ein. Dieses Feld unterstützt eine oder mehrere Abhängigkeiten, die als Schlüssel/Wert-Paare angegeben sind:

"dependencies": [
  {
    "items": {
      "DEPENDENCY_JOB_NAME": "REQUIRED_STATE"
    }
  }
]

Ersetzen Sie Folgendes:

  • DEPENDENCY_JOB_NAME: Der Name eines abhängigen Jobs, der den erforderlichen Status erreichen muss, bevor dieser abhängige Job geplant werden kann.

  • REQUIRED_STATE: Der erforderliche Status für den entsprechenden Abhängigkeitsjob. Er muss SUCCEEDED, FAILED oder FINISHED sein.

Ein abhängiger Job mit drei Abhängigkeiten kann beispielsweise eine JSON-Konfigurationsdatei haben, die in etwa so aussieht:

{
  "taskGroups": [
    {
      "taskSpec": {
        "runnables": [
          {
            "script": {
              "text": "echo Hello World! This is task $BATCH_TASK_INDEX."
            }
          }
        ]
      },
      "taskCount": 3
    }
  ],
  "dependencies": [
    {
      "items": {
        "DEPENDENCY_JOB_NAME_1": "REQUIRED_STATE_1",
        "DEPENDENCY_JOB_NAME_2": "REQUIRED_STATE_2",
        "DEPENDENCY_JOB_NAME_3": "REQUIRED_STATE_3"
      }
    }
  ]
}

Nächste Schritte