1 解决flask与MySQL失去连接的方法(如lost connect broken pip)
'''解决flask与mysql失去连接的方法'''
config.py
SQLALCHEMY_DATAbase_URI='mysql+pymysql://root:123456@127.0.0.1:3306/db_pv_cost' #配置参数
SQLALCHEMY_TRACK_MODIFICATIONS = True #设置sqlalchemy自动跟踪数据库
SECRET_KEY = os.environ.get('SECRET_KEY') or 'safsdfafefafafdsafefawfafes'
SQLALCHEMY_COMMIT_ON_TEARDOWN = True #每次请求结束都会自动commit数据库的变动
# SQLALCHEMY_ECHO = True
SQLALCHEMY_POOL_RECYCLE =3500
SQLALCHEMY_POOL_PRE_PING = True
SQLALCHEMY_POOL_SIZE=10
#blueprint.py
my_engine = create_engine(
# 'mysql+pymysql://root:384adb9b100a4b19@127.0.0.1:3306/db_pv_cost',
Config.SQLALCHEMY_DATAbase_URI,
echo=False,
pool_pre_ping=True,
pool_recycle=3500,
poolclass=NullPool)
# 创建一个配置过的Session类
Session = sessionmaker(bind=my_engine,autocommit=True)
# 实例化一个session
session = scoped_session(Session)
'''设置teardown_request方法,每次相应后关闭连接'''
@bp.teardown_request
def teardown_request(exception):
session.remove() #关闭sqlalchemry链接
db.session.remove() #关闭flask-sqlalchemry链接



