Итак, наша python программа работает с этими ошибками _mysql_exceptions.OperationalError: (2006, 'MySQL server has gone away')
. Проблема в том, что программа обращается к БД, тогда она много сканирует, чтобы вернуться с результатами после mysql connection timeout
... и тогда уже слишком поздно.
По логам c есть 2 решения
- увеличение
mysql connection timeout
, но это не вариант - иметь python проверку на открытое соединение, и если закрыто, откройте его снова
Некоторые решения были найдены и звучат ясно возможное решение и здесь о курсорах закрытия и открытия .
Однако мы используем модели из django .. и я не знаю, где реализовать логи c для проверки check for a connection and reconnect of the connectin is lost
.
вопрос : Где и как я могу реализовать описанный logi c для повторного подключения к потерянному соединению БД при использовании моделей? (существует ли какое-либо INIT или CONNECT событие для доступа)
Пример кода
from django.db import models
class Domain(models.Model):
name = models.CharField(max_length=100)
domain = models.CharField(max_length=100, blank=True, null=True)