如何在另一个线程上运行rabbit MQ消费?

问题描述 投票:0回答:1

我希望能够使用 RabbitMQ 消费者来监听新消息,但线程被阻塞并且应用程序无法启动。异步处理监听处理程序的最佳方法是什么?

@asynccontextmanager
async def lifespan(app: FastAPI):
    client = RabbitMQClient()
    await client.connect()
    queue_to_callback = {"request.queue": handleRequestNotification}
    client.start_consuming(queue_to_callback_dict=queue_to_callback)
    client.channel.start_consuming()
    yield
    await client.close()

在我的

main.py

 FastAPI(lifespan=lifespan)

我的假设是

async def
将使该处理程序异步运行。为此建议采用什么方法并将其扩展到多个消费渠道?

fastapi pika
1个回答
0
投票

我也有同样的问题,特别是对于消费者,FastaApi 应用程序阻止了我。能解决吗?

© www.soinside.com 2019 - 2024. All rights reserved.