Я развернул приложение nodejs на heroku с использованием базы данных clearDB. Но случается так, что если соединение остается неактивным в течение 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 (internal/process/next_tick.js:138:11 2019-07-02T06:22:39.971615+00:00 app[web.1]: в process._tickCallback (internal/process/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()
.
Все заработало как по волшебству!