Постоянное соединение mysql или как удержать соединение?
Задача такая: нужно получить одну запись из бд, затем отправить запрос по адресу полученному из записи бд и получить необходимые данные, далее записать в бд и повторить процедуру.
Честно говоря у меня возникает проблема с реализацией на nodejs. На любом другом языке(php, go и тд) таких проблем бы не возникло, но здесь.
Держать постоянное соединение с mysql невозможно из-за настроек да и самое архитектуры mysql. Создавать пул и каждый раз создавать новое соединение то не очень хорошая идея(или кто-то имеет другое мнение?).
Подскажите, как лучше всего реализовать данную задачу на nodejs? Или для подобных задач лучше перейти на go?
Когда я столкнулся с этой проблемной (не на nodejs, а на java), то причиной оказалось то, что если соединение не передает данные приблизительно минут 15 - MySQL сервер принудительно разрывает соединение с клиентом, хотя клиент не ловит никаких событий по этому поводу до тех пор пока не начнет передавать данные - и в этом моменте ловим exeption о том, что нет соединения. Даже MySQL опция MYSQL_OPT_RECONNECT не работает...
Я выкрутился сл. образом - с момента первого удачного соединения с MySQL каждые 5 минут (в таймере) клиент отправлял пустой запрос в базу (SELECT 1) - это помогало поддержать соединение - MySQL сервер сбрасывал таймер timeout`а пользователя и одно соединение удавалось поддерживать месяцамим!