我已经使用 clearDB 数据库在 heroku 上部署了 nodejs 应用程序。但是如果连接处于非活动状态 1 分钟,服务器就会关闭连接,应用程序就会崩溃。以下是我的日志:
2019-07-02T06:21:42.052527+00:00 heroku[web.1]:状态从启动更改为启动 2019-07-02T06:22:39.971546+00:00 app[web.1]:events.js:183 2019-07-02T06:22:39.971591+00:00 app[web.1]:throw er;//未处理的“错误”事件 2019-07-02T06:22:39.971598+00:00 app[web.1]:错误:连接丢失:服务器关闭了连接。 2019-07-02T06:22:39.971601 + 00:00 app [web.1]:位于 Protocol.end(/app/node_modules/mysql/lib/protocol/Protocol.js:112:13)
2019-07-02T06:22:39.971603 + 00:00 app [web.1]:位于套接字。(/app/node_modules/mysql/lib/Connection.js:97:28)
2019-07-02T06:22:39.971605 + 00:00 app [web.1]:位于套接字。(/app/node_modules/mysql/lib/Connection.js:525:10)
2019-07-02T06:22:39.971607+00:00 app[web.1]:位于 emitNone(events.js:111:20) 2019-07-02T06:22:39.971610+00:00 app[web.1]:位于 Socket.emit(events.js:208:7) 2019-07-02T06:22:39.971612+00:00 app[web.1]:位于 endReadableNT(_stream_readable.js:1064:12)
2019-07-02T06:22:39.971614 + 00:00 app [web.1]:位于 _combinedTickCallback(内部/进程/next_tick.js:138:11 2019-07-02T06:22:39.971615 + 00:00 app [web.1]:位于 process._tickCallback(内部/进程/next_tick.js:180:9)
2019-07-02T06:22:40.059465 + 00:00 heroku [web.1]:状态从启动变为崩溃
2019-07-02T06:22:40.059465 + 00:00 heroku [web.1]:状态从启动更改为崩溃 2019-07-02T06:22:40.036310 + 00:00 heroku [web.1]:进程以状态 1 退出
答案1
我很长时间以来都遇到同样的错误。
我替换了
var connection = mysql.createConnection({
// my configuration
})
和
var conn = mysql.createPool({
// my configuration
})
并删除了代码var conn = connection.connect()
。
它运行得非常好!