(werkzeug、jinja2、および MongoEngine) を使用して構築された Python MVC Web アプリケーションがあります。
本番環境では、nginx ロード バランサーの背後に 4 つの nginx サーバーがセットアップされています。4 つのサーバーはすべて、共通の Mongo サーバー、Redis サーバー、および Sphinx サーバーを共有しています。nginx とアプリケーションの間で uwsgi を使用しています。
さて、気になるケース。
新しいコードをデプロイしたら、xyz.wsgi をタッチします。数時間、すべてが順調に見えます。しかしその後、ランダムにエラーが発生します。
'module' object is not callable
以前、他の Python 開発シナリオでこのエラーを見たことがあります。しかし、今回私を混乱させたのは、完全にランダムな動作です。
たとえばexample.com/multimedia?keywords=sdf&s=title&c=21830
。
更新すると、エラーはなくなりました。'keywords=xzy' のような任意のパラメーターに別の値を試してみると、再び同じ値になります。リフレッシュしてください。
その「マルチメディア」モジュールは、最近行ったものなので、根本的な原因であると推測できます。しかし、エラーがランダムに発生するのはなぜですか?
私の推測では、nginx キャッシングまたは pyc/pyo の存在と関係があるのではないでしょうか? 不正なグローバル変数が原因でしょうか?
専門家の手が私を助けてくれませんか。