【问题标题】:Is there a way to retrieve body asynchronously with Tornado server from a POST/PUT?有没有办法从 POST/PUT 与 Tornado 服务器异步检索正文?
【发布时间】:2019-01-25 11:03:15
【问题描述】:

使用 aiohttp 服务器,可以异步地await请求正文,这样它就可以将手交还给事件循环:

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

但是使用 Tornado 我找不到异步的方法。 检索身体的唯一方法是:

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

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

【问题讨论】:

    标签: python asynchronous tornado aiohttp


    【解决方案1】:

    不,事件循环没有被阻塞。 post() 在正文已完全加载之前不会运行。要逐步处理正文,请参阅 @stream_request_body 装饰器。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-27
      相关资源
      最近更新 更多