删除任务和队列

本页面介绍如何从推送队列中删除任务以及如何删除队列。在某些情况下,您可能需要删除无论重试多少次都无法成功完成的任务。

从队列中删除任务

API

使用 delete_tasks() 可删除单个任务:

from google.appengine.api import taskqueue

# Delete an individual task...
q = taskqueue.Queue('queue1')
q.delete_tasks(taskqueue.Task(name='foo'))

控制台

如需从 Google Cloud 控制台中删除任务,请执行以下操作:

  1. 在控制台打开 Cloud Tasks 页面。

    打开 Cloud Tasks

  2. 点击要从中移除任务的队列的名称。

  3. 选择要删除的任务,并点击删除所选任务

    “删除所选任务”按钮是页面右上角操作列表中的最后一个按钮。

  4. 点击删除

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

API

使用 purge() 可删除指定队列中的所有任务:

from google.appengine.api import taskqueue

# Purge entire queue...
q = taskqueue.Queue('queue1')
q.purge()

控制台

如需从 Google Cloud 控制台中删除任务,请执行以下操作:

  1. 在控制台打开 Cloud Tasks 页面。

    打开 Cloud Tasks

  2. 点击要从中移除任务的队列的名称。

  3. 选择要删除的任务,并点击删除所有任务

    “删除所有任务”按钮可完全清除队列中的所有任务。

  4. 点击删除

在完全清除之前创建的所有任务都将彻底清空。完全清除操作最多可能需要一分钟才会生效。

要收回通过完全清除队列释放的配额,可能需要数小时。

暂停队列

您可以暂停队列,方法是从 queue.yaml 文件中移除队列定义,然后上传修改后的 queue.yaml 文件。将队列的速率设置为 0 也可以暂停队列。

对于暂停队列中保留的任何任务以及添加到该队列中的新任务,系统将不再进行处理。您可以恢复暂停的队列,方法是上传定义了队列并且速率设置为非零值的新 queue.yaml 文件。暂停的队列仍会算作配额的一部分。

您还可以在 Google Cloud 控制台中的 Cloud Tasks 页面暂停队列

删除队列

在删除队列之前,最好暂停队列:

  1. queue.yaml 文件中移除队列定义。

  2. 上传对 queue.yaml 文件的更改。

    gcloud app deploy queue.yaml

queue.yaml 文件中移除队列后,请使用 Google Cloud 控制台将其删除。

  1. 在 Google Cloud 控制台中,选择相应的队列。

    转至 Cloud Tasks

  2. 点击删除队列

如果您从 Google Cloud 控制台中删除某个队列,则必须等待 7 天才能重新创建同名队列。