我将asyncpg Pool用于我的discord.py机器人,但正如我在标题中所说,它会随机停止响应。使用池的命令不起作用,但其他命令起作用,而且我确信在使用它们之后我会关闭所有连接。我试着在谷歌上搜索,但什么也没找到
下面是我创建池的方式:
self.pg_pool:asyncpg.pool.Pool = await asyncpg.create_pool(DSN,
max_inactive_connection_lifetime=3600.0)编辑:我认为这些信息是不够的,所以我决定添加一些东西。我没有得到异常或错误。我认为这可能是因为池的生命周期,并将其更改为0(禁用该机制),但这不起作用
发布于 2018-08-29 12:46:48
我向asyncpg的开发人员提出了一个问题,发现必须使用async with pool.acquire() as conn:打开池连接,才能正确地关闭它们。希望这能有所帮助。
发布于 2019-10-28 07:36:57
人们不需要使用像async with pool.acquire() as conn这样的上下文管理器来获取连接。完全可以conn = await pool.acquire()..。
...That说,为什么你会想要一个连接持续这么长时间呢?我认为你的问题属于架构方面,而不是代码本身。我想不出有什么理由让数据库连接保持这么长时间的开放。
https://stackoverflow.com/questions/51592584
复制相似问题