La razón de tal comportamiento es la conexión persistente a la base de datos, que se introdujo en Django 1.6.
Para evitar un error de tiempo de espera de conexión, debe configurar CONN_MAX_AGE
en settings.py
al valor que es menor que wait_timeout
en la configuración de MySQL (my.cnf
). En ese caso, Django detecta que la conexión debe reabrirse antes de que MySQL la inicie. El valor predeterminado para MySQL 5.7 es 28800 segundos.
settings.py
:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'CONN_MAX_AGE': 3600,
<other params here>
}
}
Documentación:https://docs.djangoproject.com/ es/1.7/ref/configuraciones/#conn-max-age
my.cnf
:
wait_timeout = 28800
Documentación:https://dev.mysql .com/doc/refman/5.7/en/server-system-variables.html#sysvar_wait_timeout