2016-04-01 21 views
0

長時間実行される単一プロセス(キューに入れられた要求を処理する)としてDjangoを実行する(推奨)方法はありますか?長期実行可能なDjangoプロセスが実行可能ですか?

私は、最高の投影されたパフォーマンスチューニングがまだ十分な速さで生産されていないパフォーマンス問題を解決しようとしています。チューニングされたDBリクエストとキャッシュの両方が、デシリアライゼーションに長時間を要します。

さらに、クエリーセットはかなり静的です。

このように、パフォーマンス上の問題を解決するための1つのオプションは、実行中のプロセスから既存の実行済み/実現済みのクエリセットを計算することです。

誰もがこの方法でdjangoを実行する方法を認識していますか?

答えて

0

DjangoはPythonで書かれているので、サーバ上で実行されているスクリプトとして、アプリケーション上で部分的に実行することができます(cronジョブとしても、常に実行中でも)。

スクリプトは、プロジェクトディレクトリにある場合は、これらの行で開始する必要があります:<module>settings.pyファイルを含むディレクトリである

import os 
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "<module>.settings") 

します。

あなたはその後、例えば、通常のオブジェクトと機能にアクセスすることができます。ここでの問題は、要求を受け付けている

from app.models import * 

if __name__ == "__main__": 
    obj = MyObj.objects.all() 
+0

。私は依然として要求を受け入れたいが、同じプロセスの中から、要求を渡ってメモリ内のデータを効果的に共有できる。 – Catskul

関連する問題