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
例: 私は、ほぼ同時に2つのタブで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
をインポートし、あなたの詳細を説明することができます問題?あなたは「与えられた最初の要求が返ってこないうちに」とはどういう意味ですか? –