@annaoomph
Программист, переводчик, немножко музыкант :)

Как не дать серверу закрыть соедиение с БД?

Доброго дня. Есть сервер на Java, запущен под Ubuntu. Столкнулась с довольно распространенной проблемой - после определенного времени connection с БД Mysql закрывается и не дает ничего туда класть/забирать. Советует поставить autoReconnect=true в свойствах JDBC, что не помогает.
Дальнейшие действия: пробую запускать фоновым процессом программу на python, которая пингует сервер с периодичностью раз в 10 минут. Также не помогает.

from commands import getoutput
from time import sleep
import re
import os

host='мой сервер'

interval1=600
interval2=600
p = re.compile('ttl=')

while True:   
    ping=getoutput('ping -c 2 %s' % host)
    if not p.findall(ping):
        print "Attempt to connect failed" 
        sleep(interval2)
    sleep(interval1)


Дальше пробую не просто пинговать, а сделать так, чтобы программа действительно грузила данные каждые 10 минут.
response = urllib.urlopen(host)
И вот здесь получаю Python socket.error: connection refused.

Посоветуйте что-нибудь, или как исправить программу на python, или как еще можно разобраться с подключением к БД?
  • Вопрос задан
  • 513 просмотров
Пригласить эксперта
Ответы на вопрос 3
Используйте pool-соединений. Настроек мильон и не надо ничего пинговать.
Ответ написан
Комментировать
dimonchik2013
@dimonchik2013
non progredi est regredi
пинг к БД никаким боком (ну кроме проверки доступности железки)

ковыряйте джавовский коннектор, очень странно что он сам закрывается
Ответ написан
Комментировать
opium
@opium
Просто люблю качественно работать
используйте пул соединений
пинг вообще тут ни к чему
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы