Warteschlangen und Aufgaben verwalten

Mit Cloud Tasks können Sie die asynchrone Arbeitslastausführung steuern, die Verarbeitung von Warteschlangen pausieren und Fehler in aktiven Aufgabenabläufen beheben. Sie können Ihre Warteschlangen und Aufgaben mit der Google Cloud Console, der Google Cloud CLI oder der Cloud Tasks API konfigurieren und verwalten.

Hinweis

  1. Prüfen Sie, ob eine Cloud Tasks-Warteschlange vorhanden ist. Weitere Informationen finden Sie unter Cloud Tasks-Aufgabenwarteschlangen erstellen.
  2. Sie benötigen die erforderlichen IAM-Rollen (Identity and Access Management), um Warteschlangen und Aufgaben zu verwalten, z. B. Cloud Tasks-Administrator (roles/cloudtasks.admin), Cloud Tasks-Warteschlangenadministrator (roles/cloudtasks.queueAdmin) oder Cloud Tasks-Aufgabenlöschberechtigter (roles/cloudtasks.taskDeleter).

Aufgabe aus einer Warteschlange löschen

Sie können eine Aufgabe löschen, wenn sie geplant oder gesendet wurde. Das Löschen einer Aufgabe ist mitunter erforderlich, wenn sie trotz wiederholter Versuche nicht erfolgreich abgeschlossen werden kann. Sie können eine Aufgabe nicht löschen, wenn sie erfolgreich abgeschlossen wurde oder wenn sie nach wiederholten Fehlern keine Wiederholungsversuche mehr hat. Eine Aufgabe wird automatisch gelöscht, wenn das Limit für die maximale Aufbewahrungsdauer von Aufgaben erreicht ist.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Cloud Tasks > Warteschlangen auf.

    Zur Seite „Warteschlangen“

  2. Klicken Sie auf den Namen der Warteschlange für die Aufgabe, die Sie löschen möchten.

  3. Klicken Sie auf das Kästchen neben der Aufgabe, die Sie löschen möchten.

  4. Klicken Sie auf Aufgabe löschen.

  5. Klicken Sie dann noch einmal auf Löschen.

gcloud

Löschen Sie eine Aufgabe mit dem Befehl gcloud tasks delete:

gcloud tasks delete TASK_NAME \
    --queue=QUEUE_ID \
    --location=LOCATION

Ersetzen Sie Folgendes:

  • TASK_NAME: die ID oder der vollständige Ressourcenname der Aufgabe, die Sie löschen möchten
  • QUEUE_ID: der Name der Warteschlange, zu der die Aufgabe gehört
  • LOCATION: die Region, in der die Warteschlange bereitgestellt wird, z. B. us-central1

REST

Verwenden Sie zum Löschen einer Aufgabe die Methode projects.locations.queues.tasks.delete.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • QUEUE_ID: der Name der Warteschlange, zu der die Aufgabe gehört
  • TASK_NAME: der Name der Aufgabe, die Sie löschen möchten
  • PROJECT_ID: Ihre Projekt-ID in Google Cloud
  • LOCATION: die Region, in der die Warteschlange vorhanden ist, z. B. us-central1

Der Anfragetext muss leer sein.

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Wenn der Vorgang erfolgreich ist, ist der Antworttext leer.

Batch von Aufgaben aus einer Warteschlange löschen

Sie können einen Batch von Aufgaben aus einer Warteschlange löschen, indem Sie die Methode projects.locations.queues.tasks.batchDelete verwenden, um eine Liste von Aufgabennamen zu löschen.

Wichtige Hinweise:

  • Alle Aufgaben müssen aus derselben Warteschlange gelöscht werden.

  • Die Anzahl der Aufgaben, die in einem einzelnen Batch gelöscht werden können, ist begrenzt. Weitere Informationen finden Sie unter Kontingente und Limits.

  • Batchanfragen, bei denen einzelne Vorgänge in einer einzigen Anfrage zusammengefasst werden, sind nicht atomar, da einige der im Batch enthaltenen Vorgänge fehlschlagen können, während andere erfolgreich sein können.

  • Sie können eine Aufgabe nur löschen, wenn sie geplant oder gesendet wurde. Sie können eine Aufgabe nicht löschen, wenn sie erfolgreich abgeschlossen wurde oder wenn sie nach wiederholten Fehlern keine Wiederholungsversuche mehr hat. Eine Aufgabe wird automatisch gelöscht, wenn das Limit für die maximale Aufbewahrungsdauer erreicht ist.

  • Sie können auch einen Batch von Aufgaben erstellen. Weitere Informationen finden Sie unter Batch von Aufgaben erstellen.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • TASK_NAME: der Name der zu löschenden Aufgaben im folgenden Format: projects/PROJECT_ID/locations/REGION/queues/QUEUE_ID/tasks/TASK_ID
  • PROJECT_ID: Ihre Projekt-ID in Google Cloud
  • REGION: die Region, in der die Warteschlange vorhanden ist, z. B. us-central1
  • QUEUE_ID: der Name der Warteschlange, zu der die Aufgaben gehören

Der Anfragetext enthält eine Liste von Aufgabennamen.

JSON-Text der Anfrage:

{
  "names": [
    "TASK_NAME"
  ]
}

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Wenn der Vorgang erfolgreich abgeschlossen wurde, enthält der Antworttext eine Instanz von Operation.

{
  "name": "projects/PROJECT_ID/locations/REGION/operations/OPERATION_ID",
  "metadata": {
    "@type": "type.googleapis.com/google.cloud.tasks.v2.BatchDeleteTasksMetadata"
  },
  "done": false
}

Alle Aufgaben aus einer Warteschlange löschen

Sie können alle Aufgaben aus einer Warteschlange löschen, indem Sie sie dauerhaft löschen. Alle Aufgaben, die vor dem Löschaufruf erstellt wurden, werden endgültig gelöscht. Es kann jedoch bis zu einer Minute dauern, bis Löschvorgänge wirksam werden. Aufgaben können also vor dem Löschen gesendet werden.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Cloud Tasks > Warteschlangen auf.

    Zur Seite „Warteschlangen“

  2. Klicken Sie auf den Namen der Warteschlange für die Aufgaben, die Sie löschen möchten.

  3. Klicken Sie auf Warteschlange löschen.

  4. Klicken Sie in der Eingabeaufforderung auf Löschen.

gcloud

Löschen Sie eine Warteschlange mit dem Befehl gcloud tasks queues purge:

gcloud tasks queues purge QUEUE_ID \
    --location=LOCATION

Ersetzen Sie Folgendes:

  • QUEUE_ID: der Name der Warteschlange, die Sie löschen möchten
  • LOCATION: die Region, in der die Warteschlange bereitgestellt wird, z. B. us-central1

REST

Verwenden Sie die Methode projects.locations.queues.purge, um eine Warteschlange dauerhaft zu löschen.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • QUEUE_ID: der Name der Warteschlange, die Sie löschen möchten
  • PROJECT_ID: Ihre Projekt-ID in Google Cloud
  • LOCATION: die Region, in der die Warteschlange bereitgestellt wird, z. B. us-central1

Der Anfragetext muss leer sein.

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Wenn der Vorgang erfolgreich abgeschlossen wurde, enthält der Antworttext eine Instanz von Queue:

{
  "name": "projects/PROJECT_ID/locations/LOCATION/queues/QUEUE_ID",
  "rateLimits": {
    "maxDispatchesPerSecond": 500,
    "maxBurstSize": 100,
    "maxConcurrentDispatches": 1000
  },
  "retryConfig": {
    "maxAttempts": 100,
    "minBackoff": "0.100s",
    "maxBackoff": "3600s",
    "maxDoublings": 16
  },
  "state": "RUNNING",
  "purgeTime": "2025-03-28T13:06:30.110255Z"
}

Warteschlangen pausieren oder fortsetzen

Sie können eine Warteschlange pausieren oder fortsetzen. Durch das Pausieren einer Warteschlange wird die Ausführung und Bereitstellung von Aufgaben angehalten. Sie können weiterhin Aufgaben erstellen und sie in die Warteschlange verschieben oder an sie anhängen. Die Aufgaben werden jedoch erst verarbeitet, wenn die Warteschlange fortgesetzt wird. Wenn Sie eine Warteschlange fortsetzen, beginnt Cloud Tasks mit dem Senden von Aufgaben im Rückstand ohne definierte Ausführungsreihenfolge. Wenn Sie Warteschlangen mit hohem Traffic und großem Rückstand fortsetzen, folgen Sie der Anleitung zum Hochfahren, um eine Überlastung des Ziels zu vermeiden.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Cloud Tasks > Warteschlangen auf.

    Zur Seite „Warteschlangen“

  2. Klicken Sie das Kästchen für die Warteschlange an, die Sie pausieren oder fortsetzen möchten.

  3. Klicken Sie auf Warteschlange pausieren und dann bei der Eingabeaufforderung auf Pausieren, um die Warteschlange zu pausieren.

  4. Klicken Sie auf Warteschlange fortsetzen, um eine pausierte Warteschlange fortzusetzen.

gcloud

  1. Pausieren Sie eine Warteschlange mit dem Befehl gcloud tasks queues pause:

    gcloud tasks queues pause QUEUE_ID \
        --location=LOCATION

    Ersetzen Sie Folgendes:

    • QUEUE_ID: der Name der Warteschlange, die Sie pausieren möchten
    • LOCATION: die Region, in der die Warteschlange bereitgestellt wird, z. B. us-central1
  2. Setzen Sie eine Warteschlange mit dem Befehl gcloud tasks queues resume fort:

    gcloud tasks queues resume QUEUE_ID \
        --location=LOCATION

REST

  1. Verwenden Sie zum Pausieren einer Warteschlange die Methode projects.locations.queues.pause.

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • QUEUE_ID: der Name der Warteschlange, die Sie pausieren möchten
    • PROJECT_ID: Ihre Projekt-ID in Google Cloud
    • LOCATION: die Region, in der die Warteschlange bereitgestellt wird, z. B. us-central1

    Der Anfragetext muss leer sein.

    Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

    Wenn der Vorgang erfolgreich abgeschlossen wurde, enthält der Antworttext eine Instanz von Queue:

    {
      "name": "projects/PROJECT_ID/locations/LOCATION/queues/QUEUE_ID",
      "rateLimits": {
        "maxDispatchesPerSecond": 500,
        "maxBurstSize": 100,
        "maxConcurrentDispatches": 1000
      },
      "retryConfig": {
        "maxAttempts": 100,
        "minBackoff": "0.100s",
        "maxBackoff": "3600s",
        "maxDoublings": 16
      },
      "state": "PAUSED"
    }
    

  2. Verwenden Sie die Methode projects.locations.queues.resume, um eine Warteschlange fortzusetzen.

    Ersetzen Sie diese Werte in den folgenden Anfragedaten:

    • QUEUE_ID: der Name der Warteschlange, die Sie fortsetzen möchten
    • PROJECT_ID: Ihre Projekt-ID in Google Cloud
    • LOCATION: die Region, in der die Warteschlange bereitgestellt wird, z. B. us-central1

    Der Anfragetext muss leer sein.

    Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

    Wenn der Vorgang erfolgreich abgeschlossen wurde, enthält der Antworttext eine Instanz von Queue:

    {
      "name": "projects/PROJECT_ID/locations/LOCATION/queues/QUEUE_ID",
      "rateLimits": {
        "maxDispatchesPerSecond": 500,
        "maxBurstSize": 100,
        "maxConcurrentDispatches": 1000
      },
      "retryConfig": {
        "maxAttempts": 100,
        "minBackoff": "0.100s",
        "maxBackoff": "3600s",
        "maxDoublings": 16
      },
      "state": "RUNNING"
    }
    

Warteschlangen auflisten

Sie können Warteschlangen auflisten. Beim Auflisten von Warteschlangen werden einige Details zu Ratenbegrenzungen und Wiederholungsparametern zurückgegeben. Die folgenden Felder sind äquivalent:

  • Max. Rate (Console), MAX_RATE (gcloud), maxDispatchesPerSecond (REST)
  • Maximal gleichzeitig (Console), MAX_NUM_OF_TASKS (gcloud), maxConcurrentDispatches (REST)

Console

  1. Rufen Sie in der Google Cloud Console die Seite Cloud Tasks > Warteschlangen auf.

    Zur Seite „Warteschlangen“

    Alle Warteschlangen in Ihrem Projekt Google Cloud werden aufgelistet.

  2. Wenn Sie weitere Details sehen möchten, klicken Sie auf den Namen einer Warteschlange und dann auf den Tab Konfiguration.

    Details zur Ratenbegrenzung und zu Wiederholungsparametern werden angezeigt.

gcloud

Listen Sie Warteschlangen mit dem Befehl gcloud tasks queues list auf:

gcloud tasks queues list \
    --location=LOCATION

Ersetzen Sie LOCATION durch die Region, in der die Warteschlange bereitgestellt wird, z. B. us-central1. Wenn kein Standort angegeben ist, wird der Standort der App Engine-Anwendung Ihres Google Cloud -Projekts verwendet, sofern vorhanden. Andernfalls müssen Sie einen Standort angeben.

Die Ausgabe sollte in etwa so aussehen:

QUEUE_NAME: my-queue
STATE: PAUSED
MAX_NUM_OF_TASKS: 1000
MAX_RATE (/sec): 500.0
MAX_ATTEMPTS: 100
...

REST

Verwenden Sie die Methode projects.locations.queues.list, um Warteschlangen aufzulisten.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • PROJECT_ID: Ihre Google Cloud-Projekt-ID.
  • LOCATION: die Region, in der die Warteschlangen erstellt werden, z. B. us-central1.

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Wenn der Vorgang erfolgreich ist, enthält der Antworttext Instanzen von Queue-Ressourcen und die Antwort sollte in etwa so aussehen:

{
  "queues": [
    {
      "name": "projects/PROJECT_ID/locations/LOCATION/queues/QUEUE_ID",
      "rateLimits": {
        "maxDispatchesPerSecond": 500,
        "maxBurstSize": 100,
        "maxConcurrentDispatches": 1000
      },
      "retryConfig": {
        "maxAttempts": 100,
        "minBackoff": "0.100s",
        "maxBackoff": "3600s",
        "maxDoublings": 16
      },
      "state": "PAUSED",
      "purgeTime": "2025-03-28T13:37:32.292552Z"
    },
    ...
  ],
  "nextPageToken": "CjQKCHppcHBlcjIAEgwI9-GExAYQ_oDc1AMaGioLeWlrZXMtYWdhaW4yC3VzLWNlbnRyYWwx"
}

Warteschlangen löschen

Sie können jede Warteschlange löschen, die Sie nicht mehr benötigen, mit Ausnahme der App Engine-default-Warteschlange. Nachdem Sie eine Warteschlange gelöscht haben, müssen Sie drei Tage warten, bevor Sie sie mit demselben Namen neu erstellen können. Diese Wartezeit gilt für Warteschlangen, die über eine beliebige Schnittstelle gelöscht wurden, einschließlich der Google Cloud Console, der gcloud CLI, der REST oder RPC API oder Terraform. Dadurch wird unerwartetes Verhalten bei Aufgaben verhindert, die zum Zeitpunkt des Löschens ausgeführt werden, und interne Prozessfehler während des Lösch- und Neuerstellungszyklus werden vermieden.

Während dieses Tombstone-Fensters von bis zu 3 Tagen kann es so aussehen, als ob eine Anfrage zum Erstellen einer Warteschlange erfolgreich war, ohne dass die Warteschlange neu erstellt wurde. Wenn Sie prüfen möchten, ob eine Warteschlange mit demselben Namen neu erstellt wurde, rufen Sie die Warteschlange mit dem Befehl gcloud tasks queues describe oder der Methode projects.locations.queues.get ab. Eine erfolgreiche Antwort (200 OK) bestätigt, dass die Warteschlange neu erstellt wurde.

Wenn Sie Aufgaben löschen, Warteschlangenkonfigurationen ändern oder Warteschlangen in CI/CD-Pipelines verwalten möchten, ohne die Warteschlange zu verlieren oder die dreitägige Wartezeit auszulösen, verwenden Sie die folgenden Alternativen, anstatt eine Warteschlange zu löschen und neu zu erstellen:

Verwenden Sie zum Löschen einer Warteschlange die Google Cloud Console, die gcloud CLI oder die Cloud Tasks API:

Console

  1. Rufen Sie in der Google Cloud Console die Seite Cloud Tasks > Warteschlangen auf.

    Zur Seite „Warteschlangen“

  2. Klicken Sie auf das Kästchen neben der Warteschlange, die Sie löschen möchten.

  3. Klicken Sie auf Warteschlange löschen.

  4. Geben Sie bei der Aufforderung den Namen der Warteschlange ein und klicken Sie dann auf Bestätigen.

gcloud

Löschen Sie eine Warteschlange mit dem Befehl gcloud tasks queues delete:

gcloud tasks queues delete QUEUE_ID \
    --location=LOCATION

Ersetzen Sie Folgendes:

  • QUEUE_ID: die ID oder die voll qualifizierte Kennzeichnung der Warteschlange, die Sie löschen möchten
  • LOCATION: die Region, in der die Warteschlange bereitgestellt wird, z. B. us-central1

Die gcloud CLI fordert Sie vor dem Löschen der Warteschlange zur Bestätigung auf, es sei denn, Sie übergeben das Flag --quiet.

REST

Wenn Sie eine Warteschlange löschen möchten, verwenden Sie die Methode projects.locations.queues.delete.

Ersetzen Sie diese Werte in den folgenden Anfragedaten:

  • QUEUE_ID: der Name der Warteschlange, die Sie löschen möchten
  • PROJECT_ID: Ihre Projekt-ID in Google Cloud
  • LOCATION: die Region, in der die Warteschlange bereitgestellt wird, z. B. us-central1

Der Anfragetext muss leer sein.

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Wenn der Vorgang erfolgreich ist, ist der Antworttext leer.

Nächste Schritte