【发布时间】:2018-06-05 21:40:41
【问题描述】:
我有一个场景,一个 python 脚本,它将发布 150k 条消息,每条消息的大小最大为 10kb。然后我将队列限制设置为最大 5000 条消息。然后发布者将消息发布到队列中,直到达到限制 5000 条消息。然后消费者会尝试消费该消息。
我想问的是,如果队列已满,发布者可以等待发布消息吗?不丢弃消息。将再次检查队列是否可用,然后发布者将发布数据。
【问题讨论】:
-
我想如果队列已满,那么 pika 会引发异常。您能否尝试将最大队列大小设置为非常小的值,然后看看会发生什么?
-
我已经尝试过了,将 x-max-length 设置为 10。使用 basic_publish,但即使队列已满也总是返回 true。
-
当您这样做时,所有消息似乎都已排队,还是有些消息静默失败?
basic_publish可能会阻塞,直到它能够发布。