关闭并重新连接SQLAlchemy会话';s数据库连接?

关闭并重新连接SQLAlchemy会话';s数据库连接?,sqlalchemy,Sqlalchemy,假设我们需要在从SQLAlchemy会话加载一些对象之后进行一些长时间的计算,我们希望在计算过程中关闭数据库连接,然后重新连接到数据库。如何在炼金术中做到这一点 或者,是否需要关闭会话并每次重新创建一个会话,然后合并/重新加载所有相关对象?但是我发现session.close()不会关闭连接,甚至session.connection().close()或关闭绑定到会话的连接也不会关闭连接。那么,在我使用会话之后和退出应用程序之前,如何关闭连接呢?从SQLAlchemy Google组得到了答案:

假设我们需要在从SQLAlchemy会话加载一些对象之后进行一些长时间的计算,我们希望在计算过程中关闭数据库连接,然后重新连接到数据库。如何在炼金术中做到这一点


或者,是否需要关闭会话并每次重新创建一个会话,然后合并/重新加载所有相关对象?但是我发现
session.close()
不会关闭连接,甚至
session.connection().close()
或关闭绑定到会话的连接也不会关闭连接。那么,在我使用会话之后和退出应用程序之前,如何关闭连接呢?

从SQLAlchemy Google组得到了答案:在终止正在进行的事务后使用
session.bind.dispose()
。它处理整个连接池,因此关闭所有数据库连接


我可以保留会话,例如提交或回滚会话,而不是关闭会话。当我以后需要使用它时,它会自动建立必要的连接。这个方法省去了我重新创建会话和合并对象的问题。请将问题标记为“如果你认为是这样”。嗨,加里,在我的例子中,它仍然没有关闭MySQL连接(我可以看到一个新的进程被添加(使用<代码> StudioPrimeList;),但是在<代码>睡眠>代码>模式中,即使我使用<代码> Session .BID.Debug。()),有什么建议吗?