您可以通过以下方式管理队列和任务:
- 在 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
请求正文必须为空。
如需发送您的请求,请展开以下选项之一:
如果成功,则响应正文为空。
完全清除队列中的所有任务
您可以完全清除队列中的所有任务,从而删除所有任务。在调用清除功能之前创建的所有任务都会被永久删除。不过,完全清除操作最多可能需要一分钟才会生效,并且任务可能会在完全清除生效之前分派。
控制台
在 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 \ --location=LOCATION
替换以下内容:
QUEUE_ID
:您要暂停的队列的名称LOCATION
:部署队列的区域,例如us-central1
使用
gcloud tasks queues resume
命令恢复队列:gcloud tasks queues resume QUEUE_ID \ --location=LOCATION
REST
如需暂停队列,请使用
projects.locations.queues.pause
方法。在使用任何请求数据之前,请先进行以下替换:
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": "PAUSED" }
如需恢复队列,请使用
projects.locations.queues.resume
方法。在使用任何请求数据之前,请先进行以下替换:
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" }
列出队列
您可以列出队列。列出队列时,系统会返回一些速率限制和重试参数详细信息。 请注意,以下字段是等效的:
- 最大速率(控制台)、
MAX_RATE
(gcloud)、maxDispatchesPerSecond
(REST) 最大并发数(控制台)、
MAX_NUM_OF_TASKS
(gcloud)、maxConcurrentDispatches
(REST)
控制台
在 Google Cloud 控制台中,前往 Cloud Tasks > 队列页面。
系统会列出 Google Cloud 项目中的所有队列。
如需了解详情,请点击队列的名称,然后点击配置标签页。
系统会显示速率限制和重试参数详细信息。
gcloud
使用 gcloud tasks queues list
命令列出队列:
gcloud tasks queues list \ --location=LOCATION
将 LOCATION
替换为队列部署到的区域,例如 us-central1
。如果未指定位置,则使用 Google Cloud 项目 App Engine 应用的位置(如果存在);否则,您必须指定位置。
输出应类似如下所示:
QUEUE_NAME: my-queue STATE: PAUSED MAX_NUM_OF_TASKS: 1000 MAX_RATE (/sec): 500.0 MAX_ATTEMPTS: 100 ...
REST
如需列出队列,请使用 projects.locations.queues.list
方法。
在使用任何请求数据之前,请先进行以下替换:
PROJECT_ID
:您的 Google Cloud项目 ID。LOCATION
:创建队列的区域,例如us-central1
。
如需发送您的请求,请展开以下选项之一:
如果成功,则响应正文包含 Queue
资源实例,并且响应应类似如下内容:
{ "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" }
删除队列
您可以删除队列。队列中的所有任务也会一并删除。如果您删除某个队列,则必须等待 3 天才能重新创建同名队列。 此等待时间可防止在删除时正在运行或等待运行的任务中出现意外行为。这样还可以避免删除或重新创建周期中的内部进程失败。
控制台
在 Google Cloud 控制台中,前往 Cloud Tasks > 队列页面。
选中要删除的队列对应的复选框。
点击
删除队列。在提示符处,输入队列名称,然后点击确认。
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项目 IDLOCATION
:部署队列的区域,例如us-central1
请求正文必须为空。
如需发送您的请求,请展开以下选项之一:
如果成功,则响应正文为空。