Node.js - сервер закрыл соединение - PullRequest
0 голосов
/ 02 ноября 2018

Я работаю на node.js сервере, но я тоже работаю - но очень плохо, прямо в действительно большую ошибку:

Точно каждые восемь часов сервер закрывает соединение, аварийно завершает работу и выдает следующее сообщение об ошибке:

{ Error: Connection lost: The server closed the connection.
    at Protocol.end (/home/node/app/node_modules/mysql/lib/protocol/Protocol.js:112:13)
    at Socket.<anonymous> (/home/node/app/node_modules/mysql/lib/Connection.js:97:28)
    at Socket.<anonymous> (/home/node/app/node_modules/mysql/lib/Connection.js:502:10)
    at Socket.emit (events.js:187:15)
    at endReadableNT (_stream_readable.js:1092:12)
    at process._tickCallback (internal/process/next_tick.js:63:19) fatal: true, code: 'PROTOCOL_CONNECTION_LOST' }

Я знаю, что эта ошибка происходит от mysql, поэтому я потратил несколько часов на поиски решений. Но мне кажется, что ни один из них не работает.

  • Перехват ошибки PROTOCOL_CONNECTION_LOST

con.on('error', function(err) {
    mysqlConnection();
})

con.on('close', function(err) {
    mysqlConnection();
})

function mysqlConnection() {
  con = mysql.createConnection({
      host: "xy",
      user: "xy",
      password: "xy",
      database: "xy",
  });
  con.connect(function(error) {})
}
  • Отправка запросов в тайм-ауте (3,600,000)

setInterval(function () {
    con.query("SELECT * FROM xy", [], (err,result,fields)=>{})
}, 3600000); // every hour
  • имитирует разрыв соединения

con.destroy();

Кажется, что ни одно из исправлений не работает для меня. Поэтому я надеюсь, что смогу получить обновление для некоторых уже устаревших вопросов & ответов Я нашел.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...