Anledningen till sådant beteende är ihållande anslutning till databasen, som introducerades i Django 1.6.
För att förhindra anslutningsfel bör du ställa in CONN_MAX_AGE
i settings.py
till ett värde som är mindre än wait_timeout
i MySQL-konfiguration (my.cnf
). I så fall upptäcker Django att anslutningen måste öppnas igen tidigare än MySQL skickar den. Standardvärdet för MySQL 5.7 är 28800 sekunder.
settings.py
:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'CONN_MAX_AGE': 3600,
<other params here>
}
}
Dokumentation:https://docs.djangoproject.com/ sv/1.7/ref/settings/#conn-max-age
my.cnf
:
wait_timeout = 28800
Dokumentation:https://dev.mysql .com/doc/refman/5.7/en/server-system-variables.html#sysvar_wait_timeout