我是python和金字塔框架的新手。最近,我被介绍到SQLSoup来处理我的数据库(postgres)需求。
dbEngine1 = SqlSoup(settings['sqlalchemy.db1.url'])
users = dbEngine1.users.fetchall()一切都运行得很好,但是在短暂地使用了金字塔应用程序之后,我收到了这个错误信息。我必须杀死金字塔来释放postgres中的所有空闲连接(在抛出下面的异常之前大约有50个空闲连接)
sorry, too many clients already我的问题是,我如何关闭这个空闲的连接,我尝试添加一行代码,如下所示,但它没有帮助。
dbEngine1 = SqlSoup(settings['sqlalchemy.db1.url'])
users = dbEngine1.users.fetchall()
dbEngine1.engine.connect().close()有没有来自SQLAlchemy大师的指针?
发布于 2011-12-10 15:58:38
似乎你为你的金字塔应用程序的每个请求创建了dbEngine1。
为了在webapp中正确使用SqlSoup,您必须使用SA会话。
请参阅this page上的“访问会话”一节。
如何关闭此空闲连接
诸如raw SA之类的SqlSoup使用连接池,池中的每个连接在空闲状态下执行util查询。此连接池必须创建一次。
https://stackoverflow.com/questions/8453823
复制相似问题