我是靠谱客的博主 感动口红,最近开发中收集的这篇文章主要介绍sqlalchemy数据库连接异常,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

遇到这种情况,小记一下。

发现服务运行得好好的,连接数据库的时候隔一段时间就会报数据库连接异常,看了一下日志报一个“error during Connection reset by peer”——报错十分直观 ,就是数据库主动断开了连接。

查询发现sqlserver设置了X分钟的超时时间,如果超过这个时间数据库连接线程没有任何操作,sqlserver会主动把连接断开以节约资源。所以,如果数据库操作完成,应该由应用程序把数据库连接主动断开。

sqlalchemy是维护了一个数据库连接池,因此,只要程序还在运行,连接池里的默认是有保持与数据库的长连接线程存在。

因此,我们把sqlalchemy里的数据库连接时间设置小于X分钟。设置方法为SQLALCHEMY_POOL_RECYCLE=XXX(这里的单位是秒)

 

相关参数:

SQLALCHEMY_POOL_RECYCLE:自动回收数据库连接的秒数。

SQLALCHEMY_POOL_SIZE:数据库连接池的大小,默认为5

SQLALCHEMY_POOL_TIMEOUT:指定数据库连接池的超时时间,默认为10秒。

 

参考资料:

http://www.pythondoc.com/flask-sqlalchemy/config.html    这个是sqlalchemy相关参数的解析,还很详细的

最后

以上就是感动口红为你收集整理的sqlalchemy数据库连接异常的全部内容,希望文章能够帮你解决sqlalchemy数据库连接异常所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(58)

评论列表共有 0 条评论

立即
投稿
返回
顶部