0

メインのバックエンドとして PostgreSQL を使用する Django プロジェクトがあります。

settings.py

DATABASES = {
    'default': {
        # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3, 'oracle'.
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        ...
    },
}

しかし、アプリケーションで MongoDB へのカスタム接続も行っています。

mongo_connection.py

from pymongo import Connection
from pymongo.errors import ConnectionFailure
from django.db import connections

try:  
    connection = Connection(host="127.0.0.1", port=27017)
    db = connection[db_name]
    print "Connected successfully(Mongo, %s)" % (db_name,)
except ConnectionFailure, e:
    sys.stderr.write("Could not connect to MongoDB: %s" % e)
    sys.exit(1)

実稼働サーバーで、Apache の error.log で 1 つのことに気付きました。

[Wed May 23 05:05:39 2012] [error] Connected successfully(Mongo, galio)
[Wed May 23 05:07:16 2012] [error] Connected successfully(Mongo, galio)
[Wed May 23 06:41:51 2012] [error] Connected successfully(Mongo, galio)
[Wed May 23 06:42:21 2012] [error] Connected successfully(Mongo, galio)
...
[Wed May 23 19:26:45 2012] [error] Connected successfully(Mongo, galio)
[Wed May 23 19:26:48 2012] [error] Connected successfully(Mongo, galio)
[Wed May 23 22:20:44 2012] [error] Connected successfully(Mongo, galio)
[Wed May 23 22:20:48 2012] [error] Connected successfully(Mongo, galio)
[Thu May 24 00:12:45 2012] [error] Connected successfully(Mongo, galio)

これは、Apache が時々モジュールを再インポートすることを意味します (私は正しいですか?)。2 つの質問があります。

1) この動作は本番サーバーでは正常ですか? 2) カスタム接続を配置するのに最適な場所はどこですか? このコードをsettings.pyに移動する必要がありますか?

PS アパッチ構成

/etc/apache2/sites-available/default

<VirtualHost *:80> 
    ServerAdmin it@asdf.as 
    ServerName ... 
    ServerAlias ... 
    DocumentRoot /var/www/ 
    LogLevel warn 
    WSGIDaemonProcess www-data processes=2 maximum-requests=500 threads=1
    WSGIProcessGroup www-data 
    WSGIScriptAlias / /home/disk/galio/galio/apache/django.wsgi 
    Alias /media /var/www/media/ 
</VirtualHost>
4

0 に答える 0