私はDJangoのビューでグローバルなバールにいくつかの情報を保存しています。この情報は、Python Djangoプロセスのすべてのスレッドがアクセスできます。しかし、私はDjangoがどのように動作しているのか疑問に思っています。プロダクションDjangoは複数回fork()を処理してリクエストを処理しますか?もしそうなら、このデータはプロセス間で同じではないでしょう。 Djangoフォークがあれば誰でも知っていますか?プロダクションDJangoサーバーはフォークしますか?
答えて
私はそれがあなたの展開に依存していると確信していますが、FastCGIまたはWSGIで実行している場合は、一般に、受信要求を処理するために多数のサーバープロセスをフォークします。
私はmod_pythonでの実行についてはわかりませんが、最近はWSGIに賛成することが推奨されていません。
私はこの分野の専門家ではないので、私が今行ったばかりのgrep-ingにのみ基づいて回答しています。
のFastCGIサーバが構成設定によっては、フォークすることができるようだ:
http://code.djangoproject.com/browser/django/tags/releases/1.2.3/django/core/servers/fastcgi.py#L171 http://code.djangoproject.com/browser/django/tags/releases/1.2.3/django WSGIについては/utils/daemonize.py
、私は、Djangoのサイドハンドリングが要求処理に直進していることを信じている:
http://code.djangoproject.com/browser/django/tags/releases/1.2.3/django/core/handlers/wsgi.py#L217
であり、フォークはmod_wsgi:http://code.google.com/p/modwsgi/ - 組み込みモードとデーモンモードで、そして/またはApache(ワーカー対プリフォークビルド)で設定されています。
mod_wsgiのため、読み:
はhttp://code.google.com/p/modwsgi/wiki/ProcessesAndThreading
それはスレッド/プロセス間で共通のデータを使用する点で様々なモデルとガイドラインを説明しています。状況は他のホスティングシステムとあまり変わらない。
- 1. フォークしていないWebサーバーはどのように機能しますか?
- 2. djangoプロダクションでのデータベース移行
- 3. 'プロダクション/ライブ'サーバーの複製
- 4. フォークするか、フォークしないのですか?
- 5. Scala startプロダクションでサーバーを再生
- 6. はCFGプロダクションを表します
- 7. プロダクションWebサーバーにASP.NET MVCをインストールする必要がありますか?
- 8. Djangoでフォークした後にTCPポート80と443を閉じます。
- 9. Django OperationalError:新しい接続プロセスをフォークできませんでした
- 10. 同じサーバー上に複数のプロダクションSharepointサイトをホストしています
- 11. Djangoサーバーが応答しません
- 12. Github:新しいリポジトリをフォークするか作成しますか?
- 13. フォークされたJava VMは何を意味しますか?
- 14. Mojoliciousの "morbo"はプロダクションに適していますか?
- 15. railsプロダクション環境でサーバー側のキャッシュを無効にする
- 16. Windowsのバッチファイルでフォークできますか?
- 17. Django querysetはシェルとサーバーから異なる結果を返します
- 18. GitHubのフォーク&プルモデルとは何ですか?
- 19. djangoまたはyii dbとカスタムフォームとレポートを使用してプロダクションWebアプリケーションを構築する
- 20. フォークが完了する前にDockerが終了しますか?
- 21. ステージングとプロダクションを処理するsession_store.rbを設定しますか?
- 22. Playframework 2.0プロダクションでデバッグするロギングレベルを設定しますか?
- 23. 接続を受け入れる前または後にフォークしますか?
- 24. なぜこのコードはprintfをフォークから8回実行しますか?
- 25. パイプをフォークなしで使用できますか?
- 26. Githubに「Detached」フォークを付け直しますか?
- 27. フォークなし)(フォークのコピー・オン・ライト動作をゲットING、()
- 28. jQuery + Django:350KBのテキストデータをサーバーからクライアントに転送しますか?
- 29. Umbraco:バージョンコントロールを使用していますか?テスト/プロダクション?
- 30. プロダクションでcronスクリプトをどのように展開しますか?
グローバルバールを使用しないでください。そうでなければ、あなたが言及している問題が発生します(もちろん、使用するプロダクションサーバーによっても異なります)。おそらく 'request.session'のデータに適した場所を探してください... –