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