使用 sql alchemy 创建 flask webapp
creating flask webapp with sql alchemy
我正在使用 Flask 构建一个小型 Web 应用程序并托管在 PythonAnywhere 上。该应用程序由 Exchange
class 组成,其中多个 Team
classes 交互。每个登录的用户都与特定的 Team
相关。该应用程序同时连接的用户不超过 30 个,但他们必须实时获取信息。还有一个永远在线的任务也需要连接到数据库。
我正在使用 sqlalchemy
来管理数据库连接,但我经常收到 (2006, 'MySQL server has gone away')
或 (2013, 'Lost connection to MySQL server during query')
。因此我想知道我应该如何管理应用程序内的并发连接。我尝试了几种配置,例如在 Flask 应用程序中每次调用后打开和关闭连接,甚至在每个 class 方法中尝试,但似乎没有任何效果。
我应该只从 flask 应用程序调用数据库,例如使用 flask-sqlalchemy
还是有其他方法可以做到这一点?
您的连接超时。告诉 sqlalchemy 在短于超时的时间后回收连接。像这样:
engine = create_engine('mysql+mysqldb://...', pool_recycle=280)
我正在使用 Flask 构建一个小型 Web 应用程序并托管在 PythonAnywhere 上。该应用程序由 Exchange
class 组成,其中多个 Team
classes 交互。每个登录的用户都与特定的 Team
相关。该应用程序同时连接的用户不超过 30 个,但他们必须实时获取信息。还有一个永远在线的任务也需要连接到数据库。
我正在使用 sqlalchemy
来管理数据库连接,但我经常收到 (2006, 'MySQL server has gone away')
或 (2013, 'Lost connection to MySQL server during query')
。因此我想知道我应该如何管理应用程序内的并发连接。我尝试了几种配置,例如在 Flask 应用程序中每次调用后打开和关闭连接,甚至在每个 class 方法中尝试,但似乎没有任何效果。
我应该只从 flask 应用程序调用数据库,例如使用 flask-sqlalchemy
还是有其他方法可以做到这一点?
您的连接超时。告诉 sqlalchemy 在短于超时的时间后回收连接。像这样:
engine = create_engine('mysql+mysqldb://...', pool_recycle=280)