2

このトピックに関して多くの質問が回答されていることは知っていますが、どれもうまくいきませんでした。apache2.2、、およびmod_wsgi 3.3を使用します。python 2.7.3django 1.4centos6.2

コードフォームurls.pyを起動してみましたが、ランダムに実行され、起動が完了した後にランダムに実行されます。次に、ここで説明されているミドルウェアのトリックを使用してみました。Djangoスタートアップコードをどこに配置しますか?スタートアップコードもランダムに実行されました(いくつかのデバッグメッセージを出力し、同じメッセージを複数回表示しました)。

global TCP Client問題は、 TCPサーバーに接続して通信するものが欲しいということです。一度だけ初期化する必要があります。ランダムに新しいインスタンスを作成すると、古い接続が失われ、破壊されます。OSがメモリを使い果たしたときに、そのソケットが破壊される可能性があります(それについてはわかりません)。したがって、目標はglobal TCP Client、などのTCPクライアント関数をトリガーするすべての関数で使用される1つを持つことConnect/Disconnect/Send/Receiveです。

そのための何らかのapacheまたはmod_wsgiオプションはありますか?私はWindows7で同じ構成を実行していますが、すべてが問題なく動作します。

4

1 に答える 1

1

次の行でApachehttpd.confを変更する必要がありました。 WSGIDaemonProcess site-1 threads=15

WSGIProcessGroup site-1

基本的に、djangoは複数のプロセスとスレッドで実行されていました。グローバルTCPクライアントスレッドを安全にするために、ロックオブジェクトthreading.Lock()が役立ちました。また、念のため、TcpClientをシングルトンとして作成しました。

于 2012-09-17T14:39:27.713 に答える