我在两个MySQL数据库中使用SQLAlchemy。其中一个是我的开发数据库本地托管在我的计算机上,另一个是由ClearDB在Heroku上提供的用于生产的MySQL服务器。
当数据库执行与另一服务的同步操作时,我与数据库的会话长时间运行。在我的本地计算机上,这可以很好地完成,但是在生产环境中,我收到错误消息(2013,“查询期间与MySQL服务器的连接丢失”)。
我读过其他文章,说它可能是请求的大小太大,或者是需要调整的池刷新变量。我不认为事务负载相对那么大,并且pool_recycle
在调用SQLAlachemy时设置变量create_engine
似乎无效。
其他人是否遇到过此问题,或者是否可以帮助我缩小导致该错误的根本原因-似乎可以解决所有问题,所以我不确定从这里开始。
正如意见中的要求,无论是系统返回相同的值select @@interactive_timeout, @@wait_timeout
28800,28800:。
谢谢
通常,即使两个数据库似乎都使用相同的超时和配置。原来是ClearDB在其他地方执行的超时。
ClearDB会监视连接并在连接打开一分钟以上时将其杀死。我最初没有能够找到这个docuemnted。
该修复程序的实际设置pool_recycle
参数来pool_recycle=60
创造引擎。我以前在此我尝试使用任意数量的(因为我不知道ClearDB的超时)高于此。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句