小编gim*_*893的帖子

Python Pyramid SQLAlchemy,MySQL 服务器消失了

我已经准备了很多关于这个问题的帖子。我的理解是应用程序有一个设置,规定在删除数据库连接并创建新连接之前保持空闲数据库连接多长时间。MySQL 有一个设置,规定保持空闲连接多长时间。没有站点活动后,MySQL 会使应用程序的连接超时。但应用程序不知道这一点,仍然尝试使用现有连接,但失败了。失败后,应用程序会断开连接并建立一个新连接,然后就可以了。

我在本地 mysql 服务器上将wait_timeout设置为 10 秒。我在本地运行的应用程序上将pool_recycle设置为 5 秒。10 秒不活动后,我发出请求,但仍然收到此错误。10秒内再发出一次请求就可以了。等待超过10秒,又出现这个错误。

有什么想法吗?

mysql> SELECT @@global.wait_timeout\G
*************************** 1. row ***************************
@@global.wait_timeout: 10
1 row in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)

sqlalchemy.twelvemt.pool_recycle = 5
Run Code Online (Sandbox Code Playgroud)

engine = engine_from_config(settings, 'sqlalchemy.twelvemt.')
DBSession.configure(bind=engine)
Run Code Online (Sandbox Code Playgroud)

OperationalError: (OperationalError) (2006, 'MySQL server has gone away') 'SELECT beaker_cache.data \nFROM beaker_cache \nWHERE beaker_cache.namespace = %s' ('7cd57e290c294c499e232f98354a1f70',)
Run Code Online (Sandbox Code Playgroud)

python mysql sqlalchemy pyramid

5
推荐指数
1
解决办法
862
查看次数

标签 统计

mysql ×1

pyramid ×1

python ×1

sqlalchemy ×1