【发布时间】:2021-08-09 02:39:30
【问题描述】:
我正在为我在 Heroku 上托管的一个非常简单的游戏制作一个 Flask 应用程序,它与 Heroku-Postgres “hobby-dev”级别的数据库进行交互。在本地托管时,该应用程序可以与数据库完美交互(。但是,当我将其部署在 Heroku 上时,它通常会在尝试与数据库交互后不久崩溃。不需要此交互的页面可以正常工作。特别是,我在 Heroku 的日志中收到以下两个错误:
2021-05-19T19:23:20.943811+00:00 app[web.1]:cur = db.cursor()
2021-05-19T19:23:20.943812+00:00 app[web.1]: psycopg2.InterfaceError: connection already closed
还有……
2021-05-19T19:20:35.682211+00:00 app[web.1]: cur.execute("select * from mock_table;")
2021-05-19T19:20:35.682211+00:00 app[web.1]: psycopg2.OperationalError: SSL error: decryption failed or bad record mac
我有一些基于研究的理论,但我不确定:
- 数据库连接仅在 Flask 应用程序的最开始创建一次。
- 我将用于与数据库交互的 Python 代码存储在一个单独的模块中。我在 Flask 应用程序模块中使用 psycopg2.connect(...) 进行原始连接一次,但我将其传递给另一个模块及其方法以实际与数据库交互。
- 其他原因导致数据库连接结束
这些是否接近,有人明白我错过了什么吗?如果需要,我可以提供更多信息,但我不想提供太多信息。
【问题讨论】:
标签: python flask heroku heroku-postgres