Python и psycopg обнаруживают сетевую ошибку - PullRequest
2 голосов
/ 31 октября 2010

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

Ответы [ 2 ]

0 голосов
/ 01 ноября 2010

psycopg не может обнаружить, что происходит с сетью.Например, если вы отключите кабель Ethernet, подключите его снова и выполните запрос, все будет работать нормально.Вы обязательно должны получить исключение, когда psycopg пытается отправить SQL-запрос к бэкэнду, и нет сетевого подключения, но в зависимости от конкретной проблемы netwokr, это может занять некоторое время.В худшем случае вам придется подождать тайм-аут TCP для соединения (несколько десятков секунд).

0 голосов
/ 31 октября 2010

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

...