清除队列

https://blueprints.launchpad.net/zaqar/+spec/purge-queue

虽然用户可以删除队列中的消息、声明或订阅,但没有办法一次性删除许多它们。

问题描述

目前 Zaqar 缺少一种快速删除给定队列下许多资源的方法。这对于用户清理队列并保留队列的所有元数据可能很有用。

提议的变更

为队列添加名为 ‘purge’ 的新动作端点

/v2/queues/myqueue/purge

POST 请求体

{"resource_types": ["messages", "subscriptions"]}

因此,如果 POST 请求体为空,则默认情况下,队列下的所有资源都将被删除。否则,如果 POST 请求体中包含键 ‘resource_types’,则 Zaqar 将根据给定的资源类型删除资源。这是一个列表,可以是以下两种类型的组合之一:‘messages’(消息)和 ‘subscriptions’(订阅)。

目前,很难列出队列下的“claims”(声明),因此此功能不支持清理“claims”。

缺点

N/A

备选方案

用户必须手动删除队列中的消息和订阅。

实现

负责人

主要负责人

flwang (flwang@catalyst.net.nz)

工作项

  1. 为存储队列控制器添加一个新的方法 ‘purge’,该方法将删除队列下的所有消息和订阅。

依赖项

N/A