Cloud Scheduler

Mit Cloud Scheduler können Sie geplante Arbeitseinheiten einrichten, die zu festgelegten Zeiten oder in regelmäßigen Abständen ausgeführt werden. Diese Arbeitseinheiten werden allgemein als Cronjobs bezeichnet. Typische Anwendungsfälle sind zum Beispiel das tägliche Versenden von Berichten per E-Mail, die Aktualisierung von Cache-Daten alle 10 Minuten oder die stündliche Aktualisierung von zusammenfassenden Informationen.

Jeder mit Cloud Scheduler erstellte Cronjob wird gemäß einem festgelegten Zeitplan an ein Ziel gesendet, an dem die entsprechende Aufgabe ausgeführt wird. Die folgenden Ziele kommen infrage:

Cloud Scheduler ist für die mindestens einmalige Übermittlung konzipiert. Das bedeutet, dass der Job pro geplanter Ausführung mindestens einmal ausgeführt wird. In seltenen Fällen kann es vorkommen, dass ein Job mehrmals in Verbindung mit einer einzelnen Instanz des Zeitplans ausgeführt wird. Ihr Code muss daher sicherstellen, dass es keine schädlichen Nebenwirkungen einer wiederholten Ausführung gibt. Ihre Ziele sollten idempotent sein.

Sie können Cronjobs entweder mit der Cloud Console oder dem gcloud-Befehlszeilentool erstellen.

Unterstützte Regionen nach Ziel

Wenn Ihr Ziel ein HTTP/S-Endpunkt oder ein Pub/Sub-Thema ist, ist Cloud Scheduler in allen unterstützten Google Cloud Regionen für Cloud Scheduler verfügbar.

Wenn Ihr Ziel eine App Engine-Anwendung in Ihrem aktuellen Projekt ist:

  • Ein Cloud Scheduler-Job, der auf App Engine ausgerichtet ist, kann nur in der App Engine-Region des Projekts erstellt werden.

  • Ein Google Cloud -Projekt kann nur eine App Engine-Anwendung enthalten. Die Region, in der sich die App Engine-Anwendung befindet, kann nach dem Erstellen der Anwendung nicht mehr geändert werden.

  • App Engine ist regional, d. h., die Infrastruktur, in der Ihre Anwendung ausgeführt wird, befindet sich in einer bestimmten Region. Wenn Sie Rechenleistung und Jobs auf mehrere Regionen verteilen möchten, sollten Sie stattdessen einen HTTP/S-Endpunkt oder ein Pub/Sub-Thema als Ziel verwenden.

  • Wenn Sie App Engine nicht als Ziel verwenden, müssen Sie keine App Engine-Anwendung bereitstellen und können alle vorhandenen App Engine-Anwendungen deaktivieren.

Richtlinie für Jobwiederholung

Wenn ein Cloud Scheduler-Job nicht erfolgreich abgeschlossen wird und keine Bestätigung vom Job-Handler empfangen wird, wird er gemäß der konfigurierten Wiederholungsrichtlinie mit einem exponentiellen Backoff wiederholt.

Sie können die Einstellungen konfigurieren, die das Wiederholungsverhalten bestimmen. Weitere Informationen finden Sie unter Jobs wiederholen.

Deduplizierung von Jobanfragen

Cloud Scheduler bietet eine mindestens einmalige Übermittlung. Doppelte Jobanfragen für dieselbe geplante Ausführung können auftreten, wenn ein Ziel länger für die Antwort benötigt als die Frist für den Jobversuch (attemptDeadline) oder wenn eine vorübergehende Netzwerkunterbrechung verhindert, dass Cloud Scheduler die HTTP-2xx-Bestätigung empfängt.

Wenn Sie Ihren Job-Handler idempotent machen und wiederholte Anfragen deduplizieren möchten, können Sie die HTTP-Header X-CloudScheduler-JobName und X-CloudScheduler-ScheduleTime verwenden, die Cloud Scheduler in Anfragen einfügt. Weitere Informationen finden Sie unter Jobanfragen deduplizieren.