pymysql如何自动重连(长期idle会自动关闭)

新手上路,请多包涵

使用Flask (用uwsgi部署)+ rq实现网站加任务队列
数据库连接的实现方法是:

# setting.py
conn = pymysql.connect()

# main.py
from setting import conn
"work with conn"

由于conn的长期挂起会导致自动断开,然后出现err.InterfaceError("(0, '')") InterfaceError: (0, '')错误类似于这个https://segmentfault.com/q/10...

我个人觉得不应该每次用到数据库的时候新建一个conn,也不想搞个定期“重连”,网站不一定每天、每小时都有数据库访问,所以这个问题肯定还会存在。

所以不知有没有更好的方法可以解决这个问题。

阅读 11.8k
2 个回答
from flask import Flask  
from flask_sqlalchemy import SQLAlchemy  
  
app = Flask(__name__)  
app.config['SQLAlchemy_DATABASE_URI'] = 'mysql://root:@localhost:3306/test'  

db = SQLAlchemy(app) 

用ORM的话,数据库连接会一直保持

建议查看一下这个问答—— https://segmentfault.com/q/10...
不管是oracle还是mysql, 反正都是用flask_sqlalchemy,想必是相通的,你可以试试。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏