关闭并重新连接 SQLAlchemy 会话的数据库连接?



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

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

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

我可以保留会话,例如提交或回滚会话而不是关闭它。当我以后需要使用它时,它会自动进行必要的连接。此方法使我免于重新创建会话和合并对象。

相关内容

  • 没有找到相关文章

最新更新