Ich habe die NodeJS-App auf Heroku mithilfe der ClearDB-Datenbank bereitgestellt. Es kommt jedoch vor, dass der Server die Verbindung schließt und die App abstürzt, wenn die Verbindung 1 Minute lang inaktiv bleibt. Nachfolgend sind meine Protokolle aufgeführt:
2019-07-02T06:21:42.052527+00:00 heroku[web.1]: Status von „Starten“ auf „Aktiv“ geändert 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; // Nicht behandeltes „Fehler“-Ereignis 2019-07-02T06:22:39.971598+00:00 app[web.1]: Fehler: Verbindung verloren: Der Server hat die Verbindung geschlossen. 2019-07-02T06:22:39.971601+00:00 app[web.1]: bei Protocol.end (/app/node_modules/mysql/lib/protocol/Protocol.js:112:13)
2019-07-02T06:22:39.971603+00:00 app[web.1]: bei Socket. (/app/node_modules/mysql/lib/Connection.js:97:28)
2019-07-02T06:22:39.971605+00:00 app[web.1]: bei Socket. (/app/node_modules/mysql/lib/Connection.js:525:10)
2019-07-02T06:22:39.971607+00:00 app[web.1]: bei emitNone (events.js:111:20) 2019-07-02T06:22:39.971610+00:00 app[web.1]: bei Socket.emit (events.js:208:7) 2019-07-02T06:22:39.971612+00:00 app[web.1]: bei endReadableNT (_stream_readable.js:1064:12)
2019-07-02T06:22:39.971614+00:00 app[web.1]: bei _combinedTickCallback (intern/Prozess/next_tick.js:138:11 2019-07-02T06:22:39.971615+00:00 app[web.1]: bei process._tickCallback (intern/Prozess/next_tick.js:180:9)
2019-07-02T06:22:40.059465+00:00 heroku[web.1]: Status von „up“ auf „abgestürzt“ geändert
2019-07-02T06:22:40.059465+00:00 heroku[web.1]: Status von „up“ auf „abgestürzt“ geändert 2019-07-02T06:22:40.036310+00:00 heroku[web.1]: Prozess mit Status 1 beendet
Antwort1
Ich habe seit langem den gleichen Fehler.
Ich habe ersetzt
var connection = mysql.createConnection({
// my configuration
})
mit
var conn = mysql.createPool({
// my configuration
})
Und den Code entfernt var conn = connection.connect()
.
Es hat wunderbar funktioniert!