您可以通过以下方式管理队列和任务:
- 在 Google Cloud 控制台中
- 在终端或 Cloud Shell 中使用 Google Cloud CLI
- 通过向 Cloud Tasks API 发送请求
从队列中删除任务
如果任务已安排或已调度,您可以将其删除。例如,您可能需要删除无论重试多少次都无法成功完成的任务。如果任务已成功完成,或者在持续失败后重试次数已用尽,您将无法删除该任务。如果达到任务保留期限上限,系统会自动删除任务。
控制台
在 Google Cloud 控制台中,前往 Cloud Tasks > 队列页面。
点击要删除的任务所属队列的名称。
选中要删除的任务对应的复选框。
依次点击 删除任务。
在弹出的提示中,点击删除。
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项目 IDLOCATION:队列所在的区域,例如us-central1
请求正文必须为空。
如需发送您的请求,请展开以下选项之一:
如果成功,则响应正文为空。
从队列中批量删除任务
您可以使用 projects.locations.queues.tasks.batchDelete 方法删除队列中的一批任务,以删除任务名称列表。
请注意以下几点:
所有任务都必须从同一队列中删除。
单个批次中可删除的任务数量有限制。如需了解详情,请参阅配额和限制。
将单个操作汇总到单个请求中的批量请求不是原子操作,因为批量请求中包含的一些操作可能会失败,而其他操作可能会成功。
只有在任务已安排或已调度的情况下,您才能删除该任务。如果任务已成功完成,或者在持续失败后重试次数已用尽,则无法删除该任务。如果达到任务保留期限上限,系统会自动删除相应任务。
您还可以批量创建任务。如需了解详情,请参阅创建一批任务。
在使用任何请求数据之前,请先进行以下替换:
TASK_NAME:要删除的任务的名称,格式如下:projects/PROJECT_ID/locations/REGION/queues/QUEUE_ID/tasks/TASK_IDPROJECT_ID:您的 Google Cloud项目 IDREGION:队列所在的区域,例如us-central1QUEUE_ID:任务所属队列的名称
请求正文包含任务名称列表。
请求 JSON 正文:
{
"names": [
"TASK_NAME"
]
}
如需发送您的请求,请展开以下选项之一:
如果成功,响应正文会包含一个 Operation 实例。
{
"name": "projects/PROJECT_ID/locations/REGION/operations/OPERATION_ID",
"metadata": {
"@type": "type.googleapis.com/google.cloud.tasks.v2beta3.BatchDeleteTasksMetadata"
},
"done": false
}
完全清除队列中的所有任务
您可以完全清除队列中的所有任务,从而删除所有任务。在调用清除功能之前创建的所有任务都会被永久删除。不过,完全清除操作最多可能需要一分钟才会生效,并且任务可能会在完全清除生效之前分派。
控制台
在 Google Cloud 控制台中,前往 Cloud Tasks > 队列页面。
点击要删除的任务所属队列的名称。
点击 完全清除队列。
在提示中,点击完全清除。
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项目 IDLOCATION:部署队列的区域,例如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"
}
暂停或恢复队列
您可以暂停或恢复队列。暂停队列意味着停止执行和交付任务。您仍然可以创建任务并将其推送到队列或附加到队列,但这些任务不会得到处理。队列恢复后,所有积压的任务都会按照其添加到队列积压中的顺序进行处理。
控制台
在 Google Cloud 控制台中,前往 Cloud Tasks > 队列页面。
选中要暂停的队列对应的复选框。
点击 暂停队列。
在弹出的提示中,点击暂停。
如需继续执行队列,请点击 继续执行队列。
gcloud
使用
gcloud tasks queues pause命令暂停队列:gcloud tasks queues pause QUEUE_ID \