0

(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 の存在と関係があるのではないでしょうか? 不正なグローバル変数が原因でしょうか?

専門家の手が私を助けてくれませんか。

4

1 に答える 1