La raison d'un tel comportement est la connexion persistante à la base de données, qui a été introduite dans Django 1.6.
Pour éviter une erreur de délai de connexion, vous devez définir CONN_MAX_AGE
dans settings.py
à une valeur inférieure à wait_timeout
dans la configuration MySQL (my.cnf
). Dans ce cas, Django détecte que la connexion doit être rouverte avant que MySQL ne la lance. La valeur par défaut pour MySQL 5.7 est de 28800 secondes.
settings.py
:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'CONN_MAX_AGE': 3600,
<other params here>
}
}
Documentation :https://docs.djangoproject.com/ fr/1.7/ref/settings/#conn-max-age
my.cnf
:
wait_timeout = 28800
Documentation :https://dev.mysql .com/doc/refman/5.7/en/server-system-variables.html#sysvar_wait_timeout