1
주어진 첫 번째 요청이 반환되지 않을 때까지 서버가 모든 요청을 수락하지 않는 것이 문제입니다.파이썬 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
무엇이 잘못 되었습니까?
어떻게'search (request)'함수를 호출하고 있습니까? [최소, 완전하고 검증 가능한 예] (https://stackoverflow.com/help/mcve)를 제공해주십시오. 뷰에서 @hiroprotagonist '에 대한 –
가져 검색 응용 프로그램 = web.Application() app.router.add_get ('/ 검색 /'검색) routes.setup (응용 프로그램)' – Roman
당신이 당신의에 대한 자세한 내용을 설명 할 수 문제? "주어진 첫 번째 요청이 반환되지 않을 때까지"는 무엇을 의미합니까? –