Сервер Nodejs отключается после слишком долгого простоя (ECONNRESET)

Добрый день, у меня следующая проблема: мой сервер node.js, на котором работает node-postgres для связи с базой данных, выдает ошибку чтения ECONNRESET, когда клиент запрашивает запрос к базе данных.

ОДНАКО, это происходит только тогда, когда сервер и, соответственно, соединение простаивают слишком долго (я думаю, 1 час, но не уверен).

Есть ли способ избежать этого? Мое решение требует постоянного подключения к базе данных, поскольку сообщения клиентов могут быть редкими, но все же очень важными.

РЕДАКТИРОВАТЬ: я использую модули socket.io и node-postgres


person user2886141    schedule 26.10.2015    source источник


Ответы (1)


Напишите собственный код на языке, который имеет стабильный драйвер Postgres (Java?). Получите соединение и спите в течение 10, 20, 30, 60, 90, 120 минут в прогрессии и проверьте подключение драйвера с помощью SQL-запроса.

Если такое же поведение наблюдается при длительном бездействии соединения, то это не проблема nodejs. Проблема заключается либо в конфигурации БД Postgres, которая закрывает бездействующее соединение, либо в брандмауэре, который удаляет соединения для поддержания эффективной работы.

person swapz83    schedule 25.08.2016