Apache / 2.2.8(Ubuntu)mod_python / 3.3.1 Python / 2.5.2を使用していますが、使用するデータをプリロードしたいと思います。
現在、リクエストを受け取るたびにディスク上のファイルからデータを読み取り、それを解析してオブジェクトに保存しています。データファイルは比較的大きいので、事前に解析/プリロードしたいと思います。
1)apacheの起動時にデータをメモリにロードする(サーバーの実行中に約100MBから500MBのデータがメモリに常駐する)か、2)最初のデータリクエストが送信されたときにデータをロードして保持できると考えていました。サーバーをシャットダウンするまでメモリ内にあります。
以下は、2番目のアイデアのモックアップです。
from mod_python import apache
from mod_python import Session
gvar = 0
def handler(req):
req.content_type = 'text/plain'
session = Session.Session(req)
if session.is_new():
global gvar
req.write('gvar was originally : '+str(gvar))
gvar = 314
session['addr'] = req.connection.remote_ip
session.save()
req.write('\ngvar was just set to: '+str(gvar))
else:
global gvar
req.write('gvar set to: '+str(gvar))
return apache.OK
出力(セッション1):
gvarは元々:0
gvarは次のように設定されました:314
出力(セッション> 1):
gvarを次のように設定:314
あなたのコメントと解決策を共有してください、thx