Как восстановить соединение с помощью пула в nodejs 'обещании- mysql, если соединение оборвалось? - PullRequest
0 голосов
/ 04 мая 2020

Я использую promise-mysql NodeJs библиотеку для выполнения ожидаемых операций с MySQL сервером.

В настоящее время у меня есть простая конфигурация:

 let pool = await mysql.createPool(dbConfig);
 let connection = await pool.getConnection();

 /// after the connection is made on the program start, once,
 /// some querying using the connection follows

Однако, кажется, что только одно соединение отключено. Вопрос: как реализовать автоматическую обработку c разъединения и создание последующего нового соединения, если текущее соединение было разорвано?

1 Ответ

0 голосов
/ 04 мая 2020

Это рабочее решение для меня

pool.getConnection((err, connection) => {
  if (err) {
    console.log('Error while connecting ', err)
  } else {
    if (connection) connection.release()
    console.log('Database Connected Successfully!')
  }
})

Замените это let connection = await pool.getConnection(); приведенным выше кодом. И выполнять ваши запросы с пулом, а не с подключением. Таким образом, если ваше единственное соединение оборвалось или занято, то ваш запрос будет выполнен с другим соединением из пула.

...