A razão de tal comportamento é a conexão persistente ao banco de dados, que foi introduzida no Django 1.6.
Para evitar erros de tempo limite de conexão, você deve definir
CONN_MAX_AGE
em settings.py
para um valor menor que wait_timeout
na configuração do MySQL (my.cnf
). Nesse caso, o Django detecta que a conexão precisa ser reaberta antes que o MySQL a jogue. O valor padrão para MySQL 5.7 é 28800 segundos. settings.py
:DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'CONN_MAX_AGE': 3600,
<other params here>
}
}
Documentação:https://docs.djangoproject.com/ pt/1.7/ref/settings/#conn-max-age
my.cnf
:wait_timeout = 28800
Documentação:https://dev.mysql .com/doc/refman/5.7/en/server-system-variables.html#sysvar_wait_timeout