De reden van dergelijk gedrag is een aanhoudende verbinding met de database, die werd geïntroduceerd in Django 1.6.
Om een time-outfout bij de verbinding te voorkomen, moet u CONN_MAX_AGE
. instellen in settings.py
naar waarde die kleiner is dan wait_timeout
in MySQL-configuratie (my.cnf
). In dat geval detecteert Django dat de verbinding eerder moet worden heropend dan MySQL deze genereert. De standaardwaarde voor MySQL 5.7 is 28800 seconden.
settings.py
:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'CONN_MAX_AGE': 3600,
<other params here>
}
}
Documentatie:https://docs.djangoproject.com/ nl/1.7/ref/settings/#conn-max-age
my.cnf
:
wait_timeout = 28800
Documentatie:https://dev.mysql .com/doc/refman/5.7/en/server-system-variables.html#sysvar_wait_timeout