我在Django项目中使用pymongo,最近我开始遇到一个问题,在退出主Django进程时(即使是通过管理命令),pymongo连接将挂起,并且进程永远不会退出。显然,堆栈中有些地方出了问题,但目前最好的解决方案似乎是在Django退出之前显式关闭连接。
那么:Django为此提供了一个预关闭信号或钩子吗?
BTW:我的连接代码,以防你感兴趣。
from django.conf import settings
from pymongo import ReplicaSetConnection, ReadPreference
conn = ReplicaSetConnection(
hosts_or_uri=settings.MONGO['HOST'],
replicaSet=settings.MONGO['REPLICASET'],
safe=settings.MONGO.get('SAFE', False),
journal=settings.MONGO.get('JOURNAL', False),
read_preference=ReadPreference.PRIMARY
)
db = getattr(conn, settings.MONGO['DB'])
(出于安全考虑,这是在pymongo中进行连接池的正确方法吗?)