Сведения о вопросе

Electro Full

14:06, 13th August, 2020

Теги

Ruby   MySQL    

ruby-mysql2: MySQL server has gone away

Просмотров: 348   Ответов: 2

Есть даемон написанный на ruby с использованием гема mysql2, занимается тем, что иногда получает сообщение из AMQP и пишет в базу.

При длительном простое MySQL закрывает соединение по таймауту и при попытке выполнить запрос вываливается exception 'MySQL server has gone away'. Гугл выдает решение для ActiveRecord, про mysql2 ничего. В методах класса Mysql2::Client ничего подходящего не нашел, опция :reconnect => true не помогает.

Как проверить соединение перед выполнением запроса и если оно закрыто, то поднять его снова?



  Сведения об ответе

lourence

10:50, 17th August, 2020

Я говноруби не знаю, но в mysql коннекторах обычно проверить можно функцией Ping.


  Сведения об ответе

padenie

10:18, 13th August, 2020

Отлавливайте исключение и делайте Client.new снова.


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться