Cronjobs mit der gcloud CLI planen und ausführen

In dieser Kurzanleitung erfahren Sie, wie Sie mit der gcloud CLI einige grundlegende Vorgänge mit Cloud Scheduler ausführen.

In dieser Kurzanleitung werden folgende Schritte erläutert:

  1. Erstellen Sie ein Pub/Sub-Thema, das als Ziel für den Cloud Scheduler-Job eingerichtet werden soll.
  2. Cronjob mit Cloud Scheduler erstellen und einen wiederkehrenden für den Job planen.
  3. Führen Sie den Job aus.
  4. prüfen, ob der Job erfolgreich ausgeführt wurde

Cloud Scheduler hat eine kostenlose Stufe. Das Ausführen dieser Kurzanleitung sollte nicht Kosten entstehen. Weitere Informationen finden Sie unter Preise.

Hinweise

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. Install the Google Cloud CLI.
  3. To initialize the gcloud CLI, run the following command:

    gcloud init
  4. Create or select a Google Cloud project.

    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with a name for the Google Cloud project you are creating.

    • Select the Google Cloud project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Google Cloud project name.

  5. Make sure that billing is enabled for your Google Cloud project.

  6. Enable the Cloud Scheduler, Pub/Sub APIs:

    gcloud services enable cloudscheduler.googleapis.com pubsub.googleapis.com
  7. Install the Google Cloud CLI.
  8. To initialize the gcloud CLI, run the following command:

    gcloud init
  9. Create or select a Google Cloud project.

    • Create a Google Cloud project:

      gcloud projects create PROJECT_ID

      Replace PROJECT_ID with a name for the Google Cloud project you are creating.

    • Select the Google Cloud project that you created:

      gcloud config set project PROJECT_ID

      Replace PROJECT_ID with your Google Cloud project name.

  10. Make sure that billing is enabled for your Google Cloud project.

  11. Enable the Cloud Scheduler, Pub/Sub APIs:

    gcloud services enable cloudscheduler.googleapis.com pubsub.googleapis.com

Pub/Sub-Thema und -Abo erstellen

Ein Pub/Sub-Thema ist eine Ressource, an die Publisher Nachrichten senden können. Um zu einem Thema veröffentlichte Nachrichten empfangen zu können, müssen Sie ein Abo dieses Themas erstellen.

  1. Richten Sie ein Pub/Sub-Thema als Ziel für den Cronjob ein:

    gcloud pubsub topics create cron-topic
    

    Dadurch wird ein Thema namens cron-topic erstellt.

  2. Um Nachrichten zu erhalten und die Ergebnisse Ihres Jobs anzusehen, erstellen Sie einen Pub/Sub-Abo:

    gcloud pubsub subscriptions create cron-sub --topic cron-topic
    

Cronjob mit Cloud Scheduler erstellen

Verwenden Sie den gcloud scheduler jobs create pubsub. zum Einrichten einer Arbeitseinheit, einem sogenannten Cronjob, die an einen Pub/Sub-Ziel mit einem wiederkehrenden Zeitplan. Der Zeitplan wird in einem Format angegeben, das auf Unix-Cron basiert. Weitere Informationen finden Sie unter Format und Zeitzone für Cronjobs.

gcloud scheduler jobs create pubsub my-cron-job \
    --schedule="30 16 * * 7" \
    --topic=cron-topic \
    --location="us-central1" \
    --message-body="Hello world"

Sie haben einen Job erstellt, der eine an Pub/Sub gesendet, sonntags um 16:30 Uhr.

Sie können den Job jetzt ausführen.

Job ausführen

Neben der Ausführung gemäß dem festgelegten Zeitplan können Sie sofort ausgeführt werden soll:

gcloud scheduler jobs run my-cron-job --location="us-central1"

Aufgrund der Erstkonfiguration kann es einige Minuten dauern, bis der erste Job, der in einem Projekt erstellt wurde, ausgeführt wird.

Als Nächstes können Sie prüfen, ob Ihr Pub/Sub-Thema die Nachricht erhalten hat.

Ergebnisse in Pub/Sub prüfen

Prüfen Sie, ob Ihr Pub/Sub-Thema Nachrichten von Ihrem Job empfängt.

  1. Rufen Sie mit dem folgenden Befehl Pub/Sub-Nachrichten aus einem Abo ab:

    gcloud pubsub subscriptions pull cron-sub --limit 5
    

    Wenn keine Nachrichten abgerufen werden, führen Sie den Befehl noch einmal aus.

  2. Sehen Sie sich die Ergebnisse des ausgeführten Jobs an. Die Ausgabe sollte ungefähr so aussehen:

    DATA: Hello world!
    MESSAGE_ID: 5028933846601543
    ORDERING_KEY:
    ATTRIBUTES:
    DELIVERY_ATTEMPT:
    ACK_ID: RFAGFixdRkhRNxkIaFEOT14jPzUgKEUQAgVPAihdeTFXLkFacGhRDRlyfWB9[...]
    

Bereinigen

Löschen Sie das Google Cloud-Projekt mit den Ressourcen, damit Ihrem Google Cloud-Konto die auf dieser Seite verwendeten Ressourcen nicht in Rechnung gestellt werden.

    Delete a Google Cloud project:

    gcloud projects delete PROJECT_ID

Alternativ können Sie die für diese Kurzanleitung erstellten Ressourcen löschen:

  1. Löschen Sie den Cronjob. In Cloud Shell oder auf dem Computer, auf dem Sie installiert haben der gcloud CLI den folgenden Befehl aus:

    gcloud scheduler jobs delete MY_JOB \
        --location="LOCATION"
    

    Ersetzen Sie Folgendes:

    • MY_JOB: der Name des Jobs, der gelöscht werden soll.
    • LOCATION: Standort des Jobs. Standardmäßig verwendet Den Speicherort der App Engine-Anwendung des aktuellen Projekts, falls ein verknüpfte App.
  2. Löschen Sie das Pub/Sub-Thema. Führen Sie in Cloud Shell oder auf dem Computer, auf dem Sie die gcloud CLI installiert haben, den folgenden Befehl aus:

    gcloud pubsub topics delete TOPIC_ID
    

    Ersetzen Sie TOPIC_ID durch die ID des zu löschenden Pub/Sub-Themas.

  3. Löschen Sie das Pub/Sub-Abo. Führen Sie in Cloud Shell oder auf dem Computer, auf dem Sie die gcloud CLI installiert haben, den folgenden Befehl aus:

    gcloud pubsub subscriptions delete SUBSCRIPTION_ID
    

    Ersetzen Sie SUBSCRIPTION_ID durch die ID der Das zu löschende Pub/Sub-Abo.

Nächste Schritte