6

組み込みのWebサーバーを使用して新しいFlaskアプリケーションをテストすると、すべてが「シングルスレッド」でブロックされます。サーバーは、別の要求を完了せずに1つの要求を処理することはできません。一度に処理できるリクエストは1つだけです。

Webサービスをデプロイする場合、これは明らかに望ましくありません。物事を並行して進めることができるように、Flaskアプリケーションをどのようにデプロイしますか?

コード内のスレッドセーフと同時実行性(ロックでオブジェクトを保護するなど)に関して考慮すべきさまざまなことがありますか、それともすべての製品が同等ですか?

4

3 に答える 3

4

geventループでuWSGIを使用します。それがチケットです。実際、これは私がブロックしているpy-redisをブロックしていないように使用する方法です。

また、uWSGIを使用して、応答後にリクエストを書き込み、さらにリクエストを受け入れます。

于 2012-09-27T11:56:00.520 に答える
3

いくつかの良いオプションがあります。最も人気のある2つはおそらく次のとおりです。

mod_wsgiを使用してApacheの背後で実行するか、uWsgiを使用してNginxの背後で実行します

これらは両方とも私にとってうまく機能しました。

于 2012-09-27T12:07:37.860 に答える
1

Nginx+ gunicornを使用しています。しかし、uWSGIは事実上の標準です。

于 2015-03-12T05:55:21.077 に答える