将RabbitMQ pika与FastAPI服务结合使用



我有一个FastAPI服务,一个轻量级的直通服务。在接收到POST请求时服务将消息发布到RabbitMQ队列。由于pika库不是线程安全的,我将不得不为每个请求创建一个新的连接。但RabbitMQ文档提出了相反的建议——建议对应用程序使用长寿命连接,并对不同的线程/请求使用通道。

我的应用程序不希望负载过重,所以可以使用pika库并为每个请求创建连接吗?或者,对于我的用例来说,rabbitpy是一个更好的库吗?

谢谢。

也许不是你想要的答案,但我刚刚遇到了完全相同的问题,我认为我已经使用连接到FastAPI使用的异步事件循环中的pika AsyncioConnection解决了这个问题。

代码是回调地狱,但您可以将其隐藏在模块中。

我的解决方案

最新更新