このような動作の理由は、Django1.6で導入されたデータベースへの永続的な接続です。
接続タイムアウトエラーを防ぐには、CONN_MAX_AGE
を設定する必要があります settings.py
で wait_timeout
未満の値に MySQL構成(my.cnf
)。その場合、Djangoは、MySQLが接続をスローする前に接続を再度開く必要があることを検出します。 MySQL5.7のデフォルト値は28800秒です。
settings.py
:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'CONN_MAX_AGE': 3600,
<other params here>
}
}
ドキュメント: https://docs.djangoproject.com/ en / 1.7 / ref / settings /#conn-max-age
my.cnf
:
wait_timeout = 28800
ドキュメント: https://dev.mysql .com / doc / refman / 5.7 / en / server-system-variables.html#sysvar_wait_timeout