Python WSGI アプリケーションのコードが変更された場合、apache2 のリロードまたはグレースフル リスタート機能を使用する必要がありますか?
現在、リロードを使用していますが、モジュールが長期間存在していても、アプリケーションが正しくロードされず、欠落しているモジュールに関するエラーがエラー ファイルに記録されることがあることに気付きました。
可能であれば、おそらく優雅に使用する必要があります。ただし、アプリケーションが正しく終了しない場合は、強制的に再起動する必要がある場合があります。
wsgi の場合は、デーモン モードで実行してみてください。デーモン モードで実行されている場合は、wsgi ファイルに触れてタイムスタンプを更新するだけで、サービスを再起動できます。これにより、Apache を再起動せずにすべてのコードがリロードされます。
詳細はこちら: http://code.google.com/p/modwsgi/wiki/ConfigurationDirectives#WSGIDaemonProcess
これは django 用ですが、プロジェクトに役立つ場合があります: http://code.google.com/p/modwsgi/wiki/IntegrationWithDjango
'reload' と 'graceful' は、Web アプリケーションをリロードする限り、同じ効果があります。説明したようなインポートで問題が発生している場合は、アプリケーション コードに問題があり、インポート順序の依存関係またはインポート サイクルがある可能性があります。これは、Django を使用している人々によく見られます。発生しているエラーの例を実際に投稿することをお勧めします。