我正在使用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应用程序调用数据库,还是有其他方法可以实现此目的?
答案 0 :(得分:1)
您的连接超时。告诉sqlalchemy在比超时时间短的时间后回收连接。像这样:
engine = create_engine('mysql+mysqldb://...', pool_recycle=280)