我想知道是否可以设置队列中的最大消息数?
假设我希望队列 Foo 中的消息不超过 100 个,有可能吗?
对的,这是可能的。
来自官方文档
通过为 x-max-length 队列声明参数提供非负整数值,可以将队列的最大长度限制为一组消息。
AFAIK,鼠兔channel.queue_declare
有 queue_declare 有arguments
参数,这绝对是你想要的。
这样做并快乐!
import pika
QUEUE_SIZE = 5
connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
channel = connection.channel()
channel.queue_declare(
queue='ids_queue',
arguments={'x-max-length': QUEUE_SIZE}
)
在参数中,您还需要跟踪队列的队列溢出行为。