为了账号安全,请及时绑定邮箱和手机立即绑定

python 协程运行正常,却提示ClientSession.close错误

python 协程运行正常,却提示ClientSession.close错误

qq_乱序_0 2019-04-12 16:56:37
本地搭建的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>
查看完整描述

1 回答

?
pardon110

TA贡献1038条经验 获得超227个赞

将get协程内的return 改为yield

查看完整回答
反对 回复 2019-04-12
  • 1 回答
  • 0 关注
  • 3971 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信