管理队列和任务

您可以通过以下方式管理队列和任务:

  • 在 Google Cloud 控制台中
  • 在终端或 Cloud Shell 中使用 Google Cloud CLI
  • 通过向 Cloud Tasks API 发送请求

从队列中删除任务

如果任务已安排或已调度,您可以将其删除。例如,您可能需要删除无论重试多少次都无法成功完成的任务。如果任务已成功完成,或者在持续失败后重试次数已用尽,您将无法删除该任务。

控制台

  1. 在 Google Cloud 控制台中,前往 Cloud Tasks > 队列页面。

    前往“队列”

  2. 点击要删除的任务所属队列的名称。

  3. 选中要删除的任务对应的复选框。

  4. 依次点击 删除任务

  5. 在弹出的提示中,点击删除

gcloud

使用 gcloud tasks delete 命令删除任务:

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

替换以下内容:

  • TASK_NAME:您要删除的任务的名称
  • QUEUE_ID:任务所属队列的名称
  • LOCATION:部署队列的区域,例如 us-central1

REST

如需删除任务,请使用 projects.locations.queues.tasks.delete 方法。

在使用任何请求数据之前,请先进行以下替换:

  • QUEUE_ID:任务所属的队列的名称
  • TASK_NAME:要删除的任务的名称
  • PROJECT_ID:您的 Google Cloud项目 ID
  • LOCATION:队列所在的区域,例如 us-central1

请求正文必须为空。

如需发送您的请求,请展开以下选项之一:

如果成功,则响应正文为空。

完全清除队列中的所有任务

您可以完全清除队列中的所有任务,从而删除所有任务。在调用清除功能之前创建的所有任务都会被永久删除。不过,完全清除操作最多可能需要一分钟才会生效,并且任务可能会在完全清除生效之前分派。

控制台

  1. 在 Google Cloud 控制台中,前往 Cloud Tasks > 队列页面。

    前往“队列”

  2. 点击要删除的任务所属队列的名称。

  3. 点击 完全清除队列

  4. 在提示中,点击完全清除

gcloud

使用 gcloud tasks queues purge 命令清空队列:

gcloud tasks queues purge QUEUE_ID \
    --location=LOCATION

替换以下内容:

  • QUEUE_ID:要清除的队列的名称
  • LOCATION:部署队列的区域,例如 us-central1

REST

如需清空队列,请使用 projects.locations.queues.purge 方法。

在使用任何请求数据之前,请先进行以下替换:

  • QUEUE_ID:您要清空的队列的名称
  • PROJECT_ID:您的 Google Cloud项目 ID
  • LOCATION:部署队列的区域,例如 us-central1

请求正文必须为空。

如需发送您的请求,请展开以下选项之一:

如果成功,则响应正文包含一个 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"
}

暂停或恢复队列

您可以暂停或恢复队列。暂停队列意味着停止执行和交付任务。您仍然可以创建任务并将其推送到队列或附加到队列,但这些任务不会得到处理。队列恢复后,所有积压的任务都会按照其添加到队列积压中的顺序进行处理。

控制台

  1. 在 Google Cloud 控制台中,前往 Cloud Tasks > 队列页面。

    前往“队列”

  2. 选中要暂停的队列对应的复选框。

  3. 点击 暂停队列

  4. 在弹出的提示中,点击暂停

  5. 如需继续执行队列,请点击 继续执行队列

gcloud

  1. 使用 gcloud tasks queues pause 命令暂停队列:

    gcloud tasks queues pause QUEUE_ID \
        --location=LOCATION

    替换以下内容:

    • QUEUE_ID:您要暂停的队列的名称
    • LOCATION:部署队列的区域,例如 us-central1
  2. 使用 gcloud tasks queues resume 命令恢复队列:

    gcloud tasks queues resume QUEUE_ID \
        --location=LOCATION

REST

  1. 如需暂停队列,请使用 projects.locations.queues.pause 方法。

    在使用任何请求数据之前,请先进行以下替换:

    • QUEUE_ID:您要暂停的队列的名称
    • PROJECT_ID:您的 Google Cloud项目 ID
    • LOCATION:部署队列的区域,例如 us-central1

    请求正文必须为空。

    如需发送您的请求,请展开以下选项之一:

    如果成功,则响应正文包含一个 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. 如需恢复队列,请使用 projects.locations.queues.resume 方法。

    在使用任何请求数据之前,请先进行以下替换:

    • QUEUE_ID:您要恢复的队列的名称
    • PROJECT_ID:您的 Google Cloud项目 ID
    • LOCATION:部署队列的区域,例如 us-central1

    请求正文必须为空。

    如需发送您的请求,请展开以下选项之一:

    如果成功,则响应正文包含一个 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"
    }
    

删除队列

您可以删除队列。队列中的所有任务也会一并删除。如果您删除某个队列,则必须等待 3 天才能重新创建同名队列。 此等待时间可防止在删除时正在运行或等待运行的任务中出现意外行为。这样还可以避免删除或重新创建周期中的内部进程失败。

控制台

  1. 在 Google Cloud 控制台中,前往 Cloud Tasks > 队列页面。

    前往“队列”

  2. 选中要删除的队列对应的复选框。

  3. 点击 删除队列

  4. 在提示符处,输入队列名称,然后点击确认

gcloud

使用 gcloud tasks queues delete 命令删除队列:

gcloud tasks queues delete QUEUE_ID \
    --location=LOCATION

替换以下内容:

  • QUEUE_ID:您要删除的队列的名称
  • LOCATION:部署队列的区域,例如 us-central1

REST

如需删除队列,请使用 projects.locations.queues.delete 方法。

在使用任何请求数据之前,请先进行以下替换:

  • QUEUE_ID:要删除的队列的名称
  • PROJECT_ID:您的 Google Cloud项目 ID
  • LOCATION:部署队列的区域,例如 us-central1

请求正文必须为空。

如需发送您的请求,请展开以下选项之一:

如果成功,则响应正文为空。