我是靠谱客的博主 平淡巨人,最近开发中收集的这篇文章主要介绍Flask-SQLAlchemy使用问题记录,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

项目使用Flask-SQLAlchemy时出现了问题,花了很长时间,终于解决了,此处记录一下。

1. Flask自带服务器假死现象

服务部署好后,访问链接经常出现500现象,使得访问时经常出错。解决问题的方法很简单,在app启动时加一个参数即可如下所示:

app = Flask(__name__)
app.run(threaded=True)

threaded: 多线程支持,默认不开启

2. sessionmaker

sessionmaker()被调用时会产生一个session工厂类,在使用时可以新建一个session,如下所示:

Session = sessionmaker(bind=engine)
session = Session()

session有多种生命周期管理方式,项目开始时使用的最长模式,即全程只用一个session,由于session不是线程安全的,所以在使用的时候会出现数据库gone away的现象。
解决的方法是每次需要操作数据库时新建一个session,并且在sessionmaker的参数中加上autocommit=True。
会话会在commit()后自动过期,所以添加autocommit=True后就不必调用clear() 或 close(), 对象会自动与当前事务同步。

最后

以上就是平淡巨人为你收集整理的Flask-SQLAlchemy使用问题记录的全部内容,希望文章能够帮你解决Flask-SQLAlchemy使用问题记录所遇到的程序开发问题。

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

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

评论列表共有 0 条评论

立即
投稿
返回
顶部