3

我为我的 discord.py 机器人使用了 Pool,但正如我在标题中所说,它随机停止响应。使用池的命令不起作用,但其他命令起作用,而且我确信我在使用它们后会关闭所有连接。我尝试在谷歌上搜索,但没有找到任何东西

这是我创建池的方式:

self.pg_pool:asyncpg.pool.Pool = await asyncpg.create_pool(DSN, 
                                     max_inactive_connection_lifetime=3600.0)

编辑:我认为这些信息还不够,我决定添加一些内容。我没有任何异常或错误。我想可能是因为池的生命周期并将其更改为0(禁用机制),但这不起作用

4

2 回答 2

0

我向 asyncpg 的开发人员提出了一个问题,发现必须打开池连接async with pool.acquire() as conn:才能正确关闭它们。希望有帮助。

于 2018-08-29T04:46:47.747 回答
0

需要使用上下文管理器(如async with pool.acquire() as conn. 完全有可能conn = await pool.acquire()...

......也就是说,你为什么想要一个持续那么长时间的连接?我认为您的问题属于架构方面,而不是代码本身。我想不出有什么理由让数据库连接保持打开那么久。

于 2019-10-27T23:36:57.343 回答