- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个简单的 Sinatra 应用程序托管在 Heroku 上,并使用 Sequel 通过 ClearDB 插件连接到 MySql 数据库。
该应用程序工作正常,除非它闲置超过一分钟。在这种情况下,我发出的第一个请求给出了“500 内部服务器错误”,即 heroku logs
显示为:
sequel::DatabaseDisconnectError - Mysql::Error: MySQL server has gone away
if you are using connection pooling, then you should set the idle timeout at just below 60 seconds and/or set a keep-alive as I mentioned below. If you are not using connection pooling, then you must make sure that the app actually closes connections after queries and doesn't rely on the network timeout to shut them down.
最佳答案
您的连接超时,这没什么大不了的。如果添加 connection_validator
,Sequel 可以处理这种情况。扩展到您的数据库:
DB.extension(:connection_validator)
"detects an invalid connection, […] removes it from the pool and tries the next available connection, creating a new connection if no available connection is valid"
关于ruby - 如何在 Heroku 上修复 "sequel::DatabaseDisconnectError - Mysql::Error: MySQL server has gone away",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24289991/
我有一个简单的 Sinatra 应用程序托管在 Heroku 上,并使用 Sequel 通过 ClearDB 插件连接到 MySql 数据库。 该应用程序工作正常,除非它闲置超过一分钟。在这种情况下,
我是一名优秀的程序员,十分优秀!