Django CONN_MAX_AGE 选项不打开持久连接

Django CONN_MAX_AGE option doesn't open persistent connection

我设置了如下所示的数据库设置和 运行 Django 应用程序。

DATABASES = {
             'default': {
                         'ENGINE': 'django.db.backends.oracle',
                         'NAME': 'orcl',
                         'USER': 'smkim',
                         'PASSWORD': '1123',
                         'HOST': '168.192.15.18',
                         'PORT': '1521',
                         'CONN_MAX_AGE': 10,
                         'OPTIONS': {'threaded': True}
                         }
             }

为了确保如果 Django 打开 10 个持久连接,我发送一个 SQL 如下所示。

SELECT username FROM v$session WHERE username='SMKIM';

但是,这个命令只是returns 2条记录(这是因为我生成了一个进程,结果两个进程分别有一个连接)。

为什么我设置了10个持久连接,Django却只打开2个连接?

(ps。应用程序正在使用线程池(5) )

'CONN_MAX_AGE' 设置一个连接在关闭之前的存在时间,而不是应该有多少个,参见 docs:

CONN_MAX_AGE

Default: 0

The lifetime of a database connection, in seconds. Use 0 to close database connections at the end of each request — Django’s historical behavior — and None for unlimited persistent connections.

所以当 Django 需要一个连接并且没有其他打开的连接时,连接将被打开,尽管 DB 可以在它的一侧关闭这样的 'persistent' 连接。有关详细信息,请参阅 docs section