未知来源的未关闭客户端会话警告

时间:2018-10-01 15:52:13

标签: python-asyncio aiohttp

我正在使用基于aiohttp的第三方API客户端库。该库没有将其客户端实现为上下文管理器,但是只要我总是手动关闭aiohttp.ClientSession(对吗?),那应该没问题。

问题在于,即使仔细地执行了此操作,我仍然会收到Unclosed client session警告,而没有来自其来源的任何信息。我正在使用pytest -W error::ResourceWarning捕获警告回溯,但结果很简单

.Exception ignored in: <bound method ClientSession.__del__ of <aiohttp.client.ClientSession object at 0x10fc15ba8>>
Traceback (most recent call last):
  File "<PROJECT>/venv/lib/python3.6/site-packages/aiohttp/client.py", line 211, in __del__
    **kwargs)
ResourceWarning: Unclosed client session <aiohttp.client.ClientSession object at 0x10fc15ba8>

即一帧的追溯。

有人可以告诉我我在这里做错了什么以及如何获得有关该警告的更多信息吗?

1 个答案:

答案 0 :(得分:1)

以调试模式运行代码。

设置PYTHONASYNCIODEBUG=1环境变量以查看扩展信息。

尤其是,aiohttp将追溯记录记录到用于创建未关闭的ClientSession对象的行。