いくつかのことをテストしようとしているときに、Django + apache2+mod_wsgi3.3を使用します。結果の定期的な生成を実行すると、2つの異なる結果が見つかります。埋め込みモードとデーモンモードの間。
埋め込みモードで試してみると、つまりWSGIDaemonProcessがない場合、WSGIProcessGroupディレクティブが使用されます。下記の関数は次々に結果を生成し、2秒間のスリープ後にすべての数字がブラウザビューに印刷されます。
def yielder(request):
gen = testYielding()
return HttpResponse(gen)
def testYielding():
yield "3"
time.sleep(2)
yield "4"
time.sleep(2)
yield "5"
time.sleep(2)
yield "6"
time.sleep(2)
yield "7"
DaemonModeがオンの場合でも、このビューは、8秒後に完全な応答を照合した後、すべての数字が一緒に印刷され、同じものを次々に生成せずにデータに応答します。
この動作は正しいですか?デーモンモードで応答が埋め込みモードのように生成されることを確認する方法はありますか?