阻塞获取 aio_pika
Posted
技术标签:
【中文标题】阻塞获取 aio_pika【英文标题】:Blocking get aio_pika 【发布时间】:2018-11-17 04:49:21 【问题描述】:我期待
await queue.get()
在 aio_pika 中阻塞,但即使我没有设置超时参数,我也会立即收到错误:
aio_pika.exceptions.QueueEmpty
无论如何要在 aio_pika 中获得阻塞?
编辑: 这是迄今为止我能想到的最好的。
while True:
msg = await q.get(fail=False)
if msg:
break
await asyncio.sleep(1)
【问题讨论】:
即使设置了超时,我也会收到QueueEmpty
。这是一个已知的错误吗?
【参考方案1】:
RabbitMQ 团队会监控 the rabbitmq-users
mailing list,但有时只会在 *** 上回答问题。
根据documentation for that method,您应该使用很长的超时时间。似乎没有其他方法可以做到这一点。
【讨论】:
第一段是多余的:默认情况下,*** 问题针对的是 *** 社区的回答者,而不是特定产品的开发团队。给定的信息可能有用,但它属于对问题的评论。 设置较长的超时时间似乎是获得错误的可靠方法,因为无法保证成功。 然后使用短暂的超时,检查响应,并采取适当的行动。 @user4815162342 - 作为 RabbitMQ 核心团队的一员,我的目标是让 SO 用户知道该站点不是 RabbitMQ 社区支持的主要方式 - 邮件列表才是。 就像我说的那样,没有问题,但是那种东西属于评论。以上是关于阻塞获取 aio_pika的主要内容,如果未能解决你的问题,请参考以下文章