Как корректно обработать потерю соединения Django с базой данных?

#django #oracle

#django #Oracle

Вопрос:

Я не эксперт по базам данных. Мне нужно очень простое решение для обработки потери соединения Django с моей базой данных Oracle. Я хочу обработать исключение и отобразить общий сайт и пустые таблицы с сообщением о том, что соединение с БД потеряно.

Какой самый безболезненный способ сделать это?

Приветствуется любая помощь.

Комментарии:

1. ‘попробуйте: за исключением:’ почему вы используете oracle, если вы «не эксперт по базам данных».

2. @AndreyShipilov Я обрабатываю интерфейсную часть для небольшого проекта.

3. Ну, тогда серверные вещи — это не ваша проблема. Попросите серверных специалистов вернуть некоторый код ошибки при потере соединения с базой данных.

4. Спасибо @AndreyShipilov

Ответ №1:

Я не верю, что есть простой способ сделать это; но я думаю, что вы задаете неправильный вопрос.

Грубо говоря, handler500 делает то, что вы хотите. Однако это вызывается при каждой внутренней ошибке сервера, и у него нет способа узнать, в чем заключалась ошибка. Но вот почему я думаю, что ваш вопрос неверен: почему пользователю не все равно? Все, что пользователю нужно знать, это то, что ваш сервер неисправен; почему их должно волновать, связана ли проблема с подключением к базе данных, ошибкой файловой системы или ошибкой в вашем приложении?

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