私はmod_wsgi/Python Webアプリケーションで奇妙な問題を追跡しようとしています。私はブラウザにmod_wsgi/Pythonは最適化を行っていますか?
obj.num_files_found
を書き、本の開始時と終了時に
def my_method(self, file):
self.sapi.write("In my method for %d time"%self.mmcount)
self.mmcount += 1
# ... open file (absolute path to file), extract list of files inside
# ... exit if file contains no path/file strings
for f in extracted_files:
self.num_files_found += 1
self.my_method(f)
:私は、オブジェクトを作成し、メソッドを呼び出すアプリケーションハンドラを持っています。
これは、ファイル内のファイル参照のツリーを下にする再帰関数です。ファイル内のすべての参照が出力され、それらの参照はオープンされ、検査されます。すべてのファイルがファイルを含まないリーフノードになるまで続きます。なぜ私がこれをやっているのかは、それほど重要ではない。それはもっと賢明な例である。
あなたは出力がこのような予想通りそれは最初の数の要求に対して
Files found: 0
In my method for the 0 time
In my method for the 1 time
In my method for the 2 time
In my method for the 3 time
...
In my method for the n time
Files found: 128
そしてとして
決定論的であることを期待します。はその後、私がいる限り、私はFiles found: 0
In my method for the 0 time
Files found: 128
をリフレッシュして、私が知っているにもかかわらず、前回のリフレッシュなしコード/ファイルの変更から、それは128個のファイルを列挙するのn回を取ることについては、以下を得ます。
それでは質問mod_wsgi/Pythonには完全な実行を停止する内部最適化が含まれていますか?出力は決定論的でキャッシュであると推測されますか?
期待どおりのときにリフレッシュするたびに、REMOTE_PORTが1ずつ増えます。短い出力を使用すると、REMOTE_PORTの増分が大きく変化します。しかし、無関係かもしれない。
私は、Pythonに新しいです、
それが何だったか知っているのですが、Apache、mod_pythonの、mod_wsgiのとほぼすべてHTTPは関連をリッピングし、再インストールする固定を解決
優しくして問題。何かがかなり壊れたですが、今は大丈夫です:)
要求間のリセットを得ていないグローバル変数を? –
@エイドンベル:グッドポイント。明確化が必要。 –
説明のために修正されたサンプル出力。すべてがクラスに入っています。渡されたのは 'start_response'と 'environ'だけです。これはsapiという薄いラッパーに入れられています。 –