【问题标题】:SQLAlchemy/Flask MSSQL Query hangs indefiniteley when run under ApacheSQLAlchemy/Flask MSSQL Query 在 Apache 下运行时无限期挂起
【发布时间】:2019-05-17 22:54:18
【问题描述】:

我的应用在同一个 MSSQL 服务器上使用了几个不同的数据库(只读)。我的问题是,两个 MSSQL 连接中的一个始终可以正常工作,而另一个在第一个查询上无限期挂起,直到 Flask 切断连接。然而,这仅在应用程序在 Apache 下运行时才会发生。当我运行烧瓶测试服务器时,一切都很好。

我已经用日志消息包围了 MSSQL 查询,因此我肯定该错误存在于该特定查询中。这只是一个简单的主键查找,如下所示:

db.query(Record).get(id)

通过不同的引擎访问数据库,它们的 URI 仅在数据库名称上有所不同。

我的问题是我不知道如何开始调试它。有什么建议吗?

[编辑] 我已经设法让 SQLAlchemy 日志记录在 Apache 下。我在引擎上设置了 echo=True ,它根本不输出任何东西。它只是挂起。

【问题讨论】:

    标签: flask sqlalchemy


    【解决方案1】:

    事实证明,问题与 Apache 无关,而是与连接超时有关。 MySQL 引擎在尝试对过期的服务器连接执行查询时会给出错误消息,而 MSSQL 引擎只是默默地永远停止。将 pool_recycle=3600 添加到 create_engine() 解决了这个问题。

    【讨论】:

      猜你喜欢
      • 2018-04-08
      • 1970-01-01
      • 1970-01-01
      • 2011-02-11
      • 2017-06-29
      • 2011-05-07
      • 2021-04-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多