私はDjangoプロジェクトでpymongoを使用していますが、最近、メインのDjangoプロセスを終了すると(管理コマンドを使用しても)pymongo接続がハングし、プロセスが終了しないという問題が発生し始めました。明らかに、スタックのどこかに問題がありますが、今のところ最善の解決策は、Djangoが終了する前に接続を明示的に閉じることです。
だから:Djangoがこれに提供するシャットダウン前の信号またはフックはありますか?
ところで:あなたが興味を持っている場合に備えて私の接続コード。
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で接続プールを行う正しい方法ですか?)