社区所有版块导航
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

有没有一种方法可以通过Tornado服务器从POST/PUT中异步检索主体?

Newlol • 6 年前 • 1960 次点击  

使用aiohttp服务器,可以 await 请求主体是异步的,这样它就可以将手送回事件循环:

async def post_handler(request):
    data = await request.json()
    return aiohttp.web.Response(status = 201, body = data, content_type='application/json')

然而,使用龙卷风,我找不到异步的方法。 取回尸体的唯一方法是:

async def post(self):
    data = self.request.body
    self.write(data)

因此,如果客户机发送一个大文件,Tornado事件循环将阻塞,直到整个主体被检索,对吗?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/30820
 
1960 次点击  
文章 [ 1 ]  |  最新文章 6 年前
Ben Darnell
Reply   •   1 楼
Ben Darnell    6 年前

不,事件循环未被阻塞。 post() 在主体已完全加载之前不运行。要增量处理主体,请参见 @stream_request_body 装饰者。