ClearDB-Datenbank auf Heroku schließt die Verbindung nach 1 Minute Inaktivität

ClearDB-Datenbank auf Heroku schließt die Verbindung nach 1 Minute Inaktivität

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!

verwandte Informationen