Для каждого запроса django создает новое соединение с БД даже после установки переменной CONN_MAX_AGE в моей конфигурации БД Django
Мои конфигурации -
python3.5 / Django2.05 / mysql-5.6
Это мои конфигурации БД -
{'default': {
'CONN_MAX_AGE': 500,
'ENGINE': 'django.db.backends.mysql',
'HOST': 'localhost',
'NAME': DB_NAME,
'OPTIONS': {},
'PASSWORD': 'root',
'PORT': '3306',
'TEST': {'CHARSET': None, 'COLLATION': None, 'MIRROR': None,
'NAME': None},
'TIME_ZONE': None,
'USER': 'root'}}
Согласно документу: Документация Django , оно не должно создавать новое соединение, пока не истечет CONN_MAX_AGE.
Я проверяю, нажимая запрос get в пользовательском представлении и проверяя объект подключения, добавляя этот оператор -
from django.db import connections
print (connections.all())
В журнале отображается новый объект подключения, например, -
[INFO 2018-12-04 23:00:08,472 basehttp] "GET /health_check/ HTTP/1.1" 200 96
[<django.db.backends.mysql.base.DatabaseWrapper object at 0x7f2c5fb1a0b8>]
[INFO 2018-12-04 23:00:09,017 basehttp] "GET /health_check/ HTTP/1.1" 200 96
[<django.db.backends.mysql.base.DatabaseWrapper object at 0x7f2c5fa88d30>]
Еще одно наблюдениеis -
Заходя внутрь -
local / lib / python3.5 / site-packages / django / db / backends / mysql / base.py get_new_connection () вызывается для каждый запрос что, по моему мнению, не должно происходить.
Если эта интерпретация ведения журнала / отладки по имени объекта неверна, , тогда предложите, как я должен убедиться, что соединение с БД не будет созданона каждый запрос.
PS, я новичок в django