django webapp のスーパーユーザーに公開する特定の sysadmin 設定があります。ドメイン名 (contrib.sites を使用) やシングル サインオン構成など。これらの設定の一部は、システムによってキャッシュされます。これは、リクエストごとにミドルウェアで余分な DB ヒットを回避したい場合や、独自のキャッシュを持つ contrib.sites が原因である場合があります。そのため、設定が変更されても、アプリがリロードされるまで変更は有効になりません。
これらの変更が行われたときにアプリを自動的に再起動して、クライアントが再起動を行うようにせがむ必要がないようにします。
私たちの webapp は mod_wsgi を介して apache で実行されているため、これらの設定のいずれかが変更されるたびに、アプリの wsgi ファイルに触れるだけでこれを実行できるはずですが、それを行うのは少し奇妙に感じられます。私たちが従うべき、より優雅な慣習です。
キャッシュされ、アプリのリロードが必要な更新を適用する正しい方法はありますか? これらのキャッシュを無効にするのは非常に面倒なので、アプリの再起動に重大な欠点がない限り、それは避けたいと思います。