使Tornado能够在等待RPC over RabbitMQ上的响应时处理新请求

2024-05-29 01:53:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我有web服务器监听客户机,当有人点击handler服务器时,向RabbitMQ发送RPC消息,并在保持连接的同时等待响应。当来自RMQ的响应到来时,服务器将其作为对请求的响应传递给客户机。在

Tornado文档中的所有异步示例都与它们自己的http.fetch_异步()或类似的方法,我知道我必须异步等待/读取RMQ。。。但是怎么做呢?更糟糕的是,有时我必须同时发送多条消息(我创建线程池,每个线程发送一条消息)。在

现在我不能重建架构来摆脱等待从RMQ发送应答的问题,所以我阻止了web服务器。然而,我们并没有太多的请求和RMQ足够快的响应,但有时它会使服务器等待长达一分钟。在

所以现在我们只是使用Gunicorn和大量的工人和大型服务器,但我觉得这应该是一个更好的解决方案,并研究不同的选择。在

Python3.4,所以我们不能使用pika RMQ适配器和Celery中的PyAMQP。在


Tags: 文档服务器webhttp消息示例客户机rabbitmq

热门问题