Ausführung eines Jobs verzögern

Auf dieser Seite wird beschrieben, wie Sie die Ausführung eines Jobs verzögern. Mit der verzögerten Ausführung können Sie nicht dringende Aufgaben um bis zu 12 Stunden verschieben. Wenn Sie diese Funktion verwenden, wird Ihr Job in einem Zeitraum mit geringer Auslastung bereitgestellt, wodurch Sie einen niedrigeren Preis zahlen. Weitere Informationen finden Sie auf der Preisseite.

Zum Beispiel:

  • Die Bereitstellung einer verzögerten Jobausführung kann bis zu 12 Stunden dauern. Die Gesamtlaufzeit aller Aufgaben in einer verzögerten Jobausführung beträgt 12 Stunden. In Kombination sorgen diese Anforderungen dafür, dass eine verzögerte Ausführung innerhalb von 24 Stunden abgeschlossen wird.
  • Daher beträgt das Zeitlimit für die Aufgabe eines verzögerten Jobs 12 Stunden.
  • Wenn die Ausführung eines verzögerten Jobs das maximale Zeitlimit erreicht hat, wird die Ausführung vom System abgebrochen.

Reguläre Jobs im Vergleich zu verzögerten Jobs

Jeder Cloud Run-Job wird entweder als regulärer Job oder als verzögerter Job erstellt.

Unabhängig davon, wie der Job erstellt wurde, können Sie ihn als den anderen Typ ausführen. Weitere Informationen finden Sie unter:

Preise

Weitere Informationen zu den Preisen für verzögerte Cloud Run-Jobs finden Sie unter Cloud Run – Preise.

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zuzuweisen, um die Berechtigungen zu erhalten, die zum Erstellen von Cloud Run-Jobs erforderlich sind:

Eine Liste der IAM-Rollen und -Berechtigungen im Zusammenhang mit Cloud Run finden Sie unter IAM-Rollen für Cloud Run und IAM-Berechtigungen für Cloud Run. Wenn Ihr Cloud Run-Job mit Google Cloud APIs wie Cloud-Clientbibliotheken verknüpft ist, lesen Sie die Konfigurationsanleitung für Dienstidentitäten. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Bereitstellungsberechtigungen und Zugriff verwalten.

Verzögerten Job erstellen

Wenn Sie einen neuen Job erstellen und ausführen, beginnt die Ausführung standardmäßig so bald wie möglich.

Mit der Funktion für verzögerte Jobs können Sie einen Job erstellen, bei dem die Ausführung von Anfang an verzögert wird:

Console

  1. Rufen Sie in der Google Cloud Console die Seite Cloud Run auf:

    Zu Cloud Run

  2. Wählen Sie im Cloud Run-Navigationsmenü Jobs aus und klicken Sie auf Container bereitstellen, um das Formular Job erstellen aufzurufen.

    1. Füllen Sie die Felder im Formular Job erstellen aus, wie unter Jobs erstellen beschrieben.

    2. Wählen Sie Ausführung verzögern aus, um die Ausführung um bis zu 12 Stunden zu verschieben.

gcloud

Erstellen Sie den Job mit dem Flag --delay-execution:

gcloud beta run jobs create JOB_NAME \
  --image IMAGE_URL \
  --delay-execution \
  --region=REGION

Wenn Sie Ihren Job als verzögerten Job erstellt haben, müssen Sie das Flag --delay-execution nicht angeben, um ihn auszuführen:

gcloud beta run jobs execute JOB_NAME \
  --region=REGION

YAML

Aktualisieren Sie Ihre job.yaml-Datei mit dem Attribut delayExecution, das auf true gesetzt ist:

apiVersion: run.googleapis.com/v1
kind: Job
metadata:
  name: JOB_NAME
spec:
  delayExecution: "true"

Regulären Job als verzögerten Job ausführen

So führen Sie einen regulären Job als verzögerten Job aus:

Console

  1. Rufen Sie in der Google Cloud Console die Seite Cloud Run auf:

    Zu Cloud Run

  2. Klicken Sie auf den Namen des Jobs, den Sie bearbeiten möchten.

  3. Klicken Sie auf Jobkonfiguration ansehen und bearbeiten.

  4. Wählen Sie Verzögerte Ausführung aus.

  5. Klicken Sie auf Aktualisieren.

gcloud

Führen Sie dazu diesen Befehl aus:

gcloud beta run jobs execute JOB_NAME \
  --async \
  --delay-execution \
  --region=REGION

YAML

Aktualisieren Sie Ihre job.yaml-Datei mit dem Attribut delayExecution, das auf true gesetzt ist:

apiVersion: run.googleapis.com/v1
kind: Job
metadata:
  name: JOB_NAME
spec:
  delayExecution: "true"

Verzögerten Job als regulären Job ausführen

Wenn Sie die verzögerte Ausführung deaktivieren, wird der Job als regulärer Job aktualisiert. Das bedeutet, dass der Job bei der nächsten Ausführung so bald wie möglich ausgeführt wird.

So deaktivieren Sie die verzögerte Ausführung:

Console

  1. Rufen Sie in der Google Cloud Console die Seite Cloud Run auf:

    Zu Cloud Run

  2. Klicken Sie auf den Namen des Jobs, den Sie bearbeiten möchten.

  3. Klicken Sie auf Jobkonfiguration ansehen und bearbeiten.

  4. Deaktivieren Sie Verzögerte Ausführung.

  5. Klicken Sie auf Aktualisieren.

gcloud

Verwenden Sie das Flag --no-delay-execution. Sie können dieses Flag auch mit den Befehlen update verwenden. Wenn Sie dieses Flag für einen regulären Job verwenden, wird der Job aktualisiert, um die verzögerte Ausführung zu deaktivieren.

gcloud beta run jobs update JOB_NAME \
  --image IMAGE_URL \
  --no-delay-execution \
  --region=REGION

YAML

Aktualisieren Sie Ihre job.yaml-Datei mit dem Attribut delayExecution, das auf false gesetzt ist:

apiVersion: run.googleapis.com/v1
kind: Job
metadata:
  name: JOB_NAME
spec:
  delayExecution: "false"

Verzögerten Job bei der Erstellung oder Aktualisierung ausführen

Wenn Sie einen verzögerten Job mit dem --execute-now Flag erstellen, wird die Ausführung bei der Erstellung ausgelöst und der Job wird irgendwann in den nächsten 12 Stunden ausgeführt.

So führen Sie einen verzögerten Job bei der Erstellung oder Aktualisierung aus:

Console

  1. Rufen Sie in der Google Cloud Console die Seite Jobs von Cloud Run auf:

    Zu Cloud Run-Jobs

  2. Wenn Sie einen vorhandenen verzögerten Job haben, klicken Sie auf den Job, um die Seite mit den Jobdetails aufzurufen, und wählen Sie dann Jobkonfiguration ansehen und bearbeiten aus. Wenn Sie einen neuen verzögerten Job erstellen, wählen Sie Container bereitstellen aus.

  3. Scrollen Sie zum Ende der Seite und aktivieren Sie das Kästchen Job sofort ausführen , bevor Sie den Job erstellen oder aktualisieren.

gcloud

Geben Sie beim Erstellen oder Aktualisieren eines verzögerten Jobs das --execute-now Flag an:

  • Job erstellen:

    gcloud run jobs create JOB_NAME \
      --image IMAGE_URL \
      --delay-execution \
      --execute-now \
      --region=REGION
  • Job aktualisieren:

    gcloud run jobs update JOB_NAME \
      --execute-now \
      --region=REGION