Рішення від @ sajid-siddiqi є технічно правильним, але майте на увазі, що вбудований сервер WSGI у Werkzeug (який упакований в Flask і для чого він використовується app.run()
) є лише однопотоковим.
Встановіть сервер WSGI, щоб мати можливість обробляти багатопотокову поведінку. Я провів купу досліджень з різних WSGI характеристик серверів . Ваші потреби можуть відрізнятися, але якщо все, що ви використовуєте, - Flask , я рекомендую один із наведених веб-серверів.
Оновлення (2020-07-25): Схоже, gevent почав підтримувати python3 5 років тому, незабаром після того, як я прокоментував, що цього не зробив, тож ви можете використовувати gevent зараз.
гевент
Ви можете встановити gevent через pip за допомогою команди pip install gevent
або pip3 за допомогою команди pip3 install gevent
. Інструкції щодо відповідної модифікації коду ви знайдете тут: https://flask.palletsprojects.com/en/1.1.x/deploying/wsgi-standalone/#gevent
мінхельд
gevent краще, але з усіх тестів, які я розглядав і включають реальне тестування, meinheld, здається, є найпростішим, спрощеним сервером WSGI . (Ви також можете поглянути на uWSGI якщо вам не ще якась конфігурація.)
Ви також можете встановити meinheld через pip3 за допомогою команди pip3 install meinheld
. Звідти, подивіться на зразок, наведений у джерелі, що містить мене, для інтеграції колби : https://github.com/mopemope/meinheld/blob/master/example/flask_sample.py
* ПРИМІТКА. Після мого використання PyCharm , рядок from meinheld import server
виділяється як помилка, але сервер буде працювати, тому ви можете ігнорувати помилку.