使用sql alchemy创建烧瓶webapp

时间:2018-11-26 07:15:09

标签: python flask sqlalchemy flask-sqlalchemy pythonanywhere

我正在使用flask构建一个小型的Webapp,并托管在PythonAnywhere上。该应用程序由一个Exchange类组成,其中有多个Team类进行交互。每个登录的用户都与一个特定的Team相关。该应用程序最多只能同时获得30个已连接用户,尽管他们必须实时获取信息。还有一个永远在线的任务,也需要连接到数据库。

我正在使用sqlalchemy来管理数据库连接,但是我一直在获取(2006, 'MySQL server has gone away')(2013, 'Lost connection to MySQL server during query')。因此,我想知道如何在应用程序中管理并发连接。我尝试了几种配置,例如在flask应用程序中甚至在每个类方法中的每次调用之后打开和关闭连接,但似乎没有任何效果。

我应该仅使用例如flask-sqlalchemy从flask应用程序调用数据库,还是有其他方法可以实现此目的?

1 个答案:

答案 0 :(得分:1)

您的连接超时。告诉sqlalchemy在比超时时间短的时间后回收连接。像这样:

engine = create_engine('mysql+mysqldb://...', pool_recycle=280)