@sajid-siddiqi の解決策は技術的には正しいですが、 Werkzeugの組み込みWSGIサーバー( Flaskにパッケージ化されており、それが に使用するもの) はシングルスレッドのみであることに注意してください。app.run()
マルチスレッド動作を処理できるようにWSGIサーバーをインストールします。さまざまなWSGIサーバーのパフォーマンスについて、さまざまな調査を行いました。ニーズはさまざまですが、使用しているのがFlaskだけの場合は、次の Web サーバーのいずれかをお勧めします。
更新 (2020-07-25): gevent は 5 年前に python3のサポートを開始したようですが、私がサポートしていないとコメントした直後に、geventを使用できるようになりました。
イベント
コマンドを使用してpipを介してgeventをインストールするか、コマンドを使用してpip3をインストールできます。それに応じてコードを変更する方法については、https ://flask.palletsprojects.com/en/1.1.x/deploying/wsgi-standalone/#gevent をご覧ください。pip install gevent
pip3 install gevent
メインヘルド
geventの方が優れていますが、実世界でのテストに関連して私が調べたすべてのベンチマークから、meinheldは最も単純で単純なWSGIサーバーのようです。(さらに構成を気にしない場合は、 uWSGIを参照することもできます。)
コマンドを使用して、 pip3からmeinheldをインストールすることもできますpip3 install meinheld
。そこから、meinheldソースで提供されているサンプルを見て、 Flaskを統合します: https://github.com/mopemope/meinheld/blob/master/example/flask_sample.py
*注: 私のPyCharmの使用から、行from meinheld import server
はエラーとして強調表示されますが、サーバーは実行されるため、エラーは無視できます。