1
問題是服務器在第一個請求未返回之前不接受任何請求。Python 3.6。阻止I/O。服務器在處理第一個請求時不接受任何請求
import asyncio
import datetime as dt
from aiohttp import web
async def search(request):
print('!START! %s' % dt.datetime.now())
await asyncio.sleep(5)
print('!--END! %s' % dt.datetime.now())
return web.json_response(data={})
app = web.Application()
app.router.add_get('/search/', search)
web.run_app(app)
#run_server
#python -m aiohttp.web -H localhost -P 8080 handler:init_func
例子: 我幾乎在同一時間運行在兩個選項卡http://localhost:8080/search/。 但我看到請求正在順序處理。
!START! 2017-04-24 12:05:37.978347
!--END! 2017-04-24 12:05:47.980859
!START! 2017-04-24 12:05:48.037671
!--END! 2017-04-24 12:05:58.040659
但我預計請求將被並行處理。
!START! 2017-04-24 12:05:37.978347
!START! 2017-04-24 12:05:38.000000
!--END! 2017-04-24 12:05:47.980859
!--END! 2017-04-24 12:05:48.000000
我做了什麼錯事?
你怎麼調用搜索(請求)功能?請提供[最小,完整和可驗證的示例](https://stackoverflow.com/help/mcve)。 –
從意見@hiroprotagonist '導入搜索 應用= web.Application() app.router.add_get( '/搜索/',搜索) routes.setup(APP)' – Roman
你能解釋一下你的問題? 「直到第一個請求沒有返回」是什麼意思? –