本地搭建的Flask测试环境:
协程代码如下:
import asyncio import aiohttp import time start = time.time() async def get(url): session = aiohttp.ClientSession() response = await session.get(url) result = await response.text() session.close() return result async def request(): url = 'http://127.0.0.1:5000' print('Waiting for', url) result = await get(url) print('Get response from', url, 'Result:', result) tasks = [asyncio.ensure_future(request()) for _ in range(5)] loop = asyncio.get_event_loop() loop.run_until_complete(asyncio.wait(tasks)) end = time.time() print('Cost time:', end - start)
运行结果如下:
Waiting for http://127.0.0.1:5000Waiting for http://127.0.0.1:5000Waiting for http://127.0.0.1:5000Waiting for http://127.0.0.1:5000Waiting for http://127.0.0.1:5000Get response from http://127.0.0.1:5000 Result: Hello!Get response from http://127.0.0.1:5000 Result: Hello!Get response from http://127.0.0.1:5000 Result: Hello!Get response from http://127.0.0.1:5000 Result: Hello!C:/Users/gyp/PycharmProjects/untitled/4545/xiechengp.py:24: RuntimeWarning: coroutine 'ClientSession.close' was never awaited session.close()Unclosed client sessionclient_session: <aiohttp.client.ClientSession object at 0x0000000003B102E8>Unclosed client sessionclient_session: <aiohttp.client.ClientSession object at 0x0000000003B10940>Unclosed client sessionclient_session: <aiohttp.client.ClientSession object at 0x00000000030ADC50>Unclosed client sessionclient_session: <aiohttp.client.ClientSession object at 0x00000000030ADC18>Get response from http://127.0.0.1:5000 Result: Hello!Cost time: 3.013000011444092Unclosed client sessionclient_session: <aiohttp.client.ClientSession object at 0x0000000003B10DD8>
pardon110
相关分类