您可以暂停队列向任何已连接消费者投递消息。暂停队列在消费者 Worker 不健康等停机场景下很有用,且不会丢失任何消息。
即使投递被暂停,Queues 仍会继续接收并存储消息。暂停队列中的消息仍可能过期,若消息超过队列消息保留期。
暂停会影响 push 消费者 Worker 和 pull 消费者。
以下命令将暂停队列的消息投递:
$ npx wrangler queues pause-delivery <QUEUE-NAME>queue-namestringrequired- 要暂停投递的队列名称。
以下命令将恢复消息投递:
$ npx wrangler queues resume-delivery <QUEUE-NAME>queue-namestringrequired- 要恢复投递的队列名称。
队列暂停时,HTTP pull 消费者 无法拉取消息。拉取请求将收到 409 响应及错误消息 queue_delivery_paused。
清除队列会永久删除 Queue 中当前存储的所有消息。清除在开发新应用程序时很有用,尤其是清除测试数据。在生产环境中,也可用于处理已发送一批错误消息的场景。
请注意,正在由消费者处理的进行中的消息仍可能被处理。清除操作期间发送到队列的消息可能不会被清除。所有延迟消息也会从队列中删除。
以下命令将清除队列中的消息。系统会提示您输入队列名称以确认操作。
$ npx wrangler queues purge <QUEUE-NAME>
This operation will permanently delete all the messages in Queue <QUEUE-NAME>. Type <QUEUE-NAME> to proceed.清除队列计为一次可计费操作,无论删除多少消息。例如,若清除包含 100 条消息的队列,100 条消息将全部永久删除,您将按 1 次可计费操作计费。有关 Queues 计费方式的更多信息,请参阅定价页面。