В Django, Как мне восстановить код из подключенного к базе данных соединения? Это сценарий:Простые соединения с базой данных в Django
# requests enters view handler
# executes code which does some synchronous tasks without any database interaction for 15min.
# first database activity in this request after 15min.
try:
o, created = act_details.objects.get_or_create(id=1) # this line fails because of a dead database connection.
except Exception as e:
logger.error(e) # ORA-03114: not connected to ORACLE
Предполагая, что я обрабатывать исключение, есть способ, чтобы положить вещи в нужное русло, создав новое соединение с базой данных в блоке исключения?
Моя проблема аналогична Recover from dead database connection in Django, но отличается тем, что соединения, которые я использую, полностью управляются каркасом.
Эта проблема возникает только , когда удаленный сервер/сеть/брандмауэр падает на холостые соединения.
Эй, этот связанный вопрос был моим :-) Независимо от причины, по которой вы получаете ошибку ORA-03114, не можете ли вы использовать трюк 'connection.close(), чтобы заставить Django повторно установить' Экземпляр django.db.connection? –