我知道这个问题在SO上并不是新问题,但我无法找到解决方案。每当我让我的应用程序在夜间运行后返回我的桌面时,我会收到MySQL server has gone away
错误,该错误一直持续到我重启我的uwsgi服务。我已经完成了以下工作:
pool_recycle=
我的create_engine()
电话ping_connection()
装饰者之后添加了@event.listens_for()
(我无法使用pool_pre_ping
- 这会打破我的create_engine()
电话)/etc/my.cnf
中我添加了wait_timeout
和interactive_timeout
参数的大值但没有任何效果。
答案 0 :(得分:1)
在位于here的sqlalchemy文档中,您正在寻找 pool_recycle 功能。
from sqlalchemy import create_engine
engine = create_engine("mysql://scott:tiger@localhost/test", pool_recycle=28700)
将 pool_recycle 设置为值< mysql配置文件中的 wait_timeout my.cnf
MySQL默认 wait_time 是28800(8小时)
如果你修改了conf文件,请不要忘记重新启动你的服务(例如mysql等)