社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  tornado

python tornado websocket服务器瓶颈

Mehrdad Dadvand • 5 年前 • 1148 次点击  

我有一个用python tornado编写的websocket服务器。服务器将从客户机接收许多连接,正如您所知,我们 on_message 接收WebSocket消息时激发的函数。所以,我的问题是,如果一条消息(比如来自客户机的请求)需要5秒的时间来处理,那么当服务器处理某个请求时,服务器将进入阻塞模式,无法接受或接收更多的连接或数据。经过研究,我发现 Asyncio 可以解决我的问题,但我现在不知道如何使用它。那么,我该怎么打电话 process 避免阻塞的方法?

以下是我的代码:

class WavesClient(tornado.websocket.WebSocketHandler):
    def check_origin(self, origin):
        return True
    def open(self):
        print("New client connected")

   def on_message(self, message):
        self.process(message)

   def on_close(self):
        print("Client disconnected")
   def process(self,message):
        #it takes 5 sec to complete
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/35378
 
1148 次点击  
文章 [ 1 ]  |  最新文章 5 年前