Rozwiązanie z @ sajid-siddiqi jest technicznie poprawne, ale należy pamiętać, że wbudowany serwer WSGI w Werkzeug (który jest spakowany do Flaska i do czego służy app.run()
) jest tylko jednowątkowy.
Zainstaluj serwer WSGI , aby móc obsługiwać zachowanie wielowątkowe. Zrobiłem wiele badań na temat wydajności różnych serwerów WSGI . Twoje potrzeby mogą się różnić, ale jeśli wszystko, czego używasz, to Flask , polecam jeden z poniższych serwerów internetowych.
Aktualizacja (2020-07-25): Wygląda na to, że gevent zaczął obsługiwać python3 5 lat temu, wkrótce po tym, jak skomentowałem, że tak się nie stało, więc możesz teraz używać gevent .
gevent
Możesz zainstalować gevent przez pip za pomocą polecenia pip install gevent
lub pip3 za pomocą polecenia pip3 install gevent
. Instrukcje dotyczące odpowiedniego modyfikowania kodu znajdują się tutaj: https://flask.palletsprojects.com/en/1.1.x/deploying/wsgi-standalone/#gevent
meinheld
gevent jest lepszy, ale ze wszystkich testów porównawczych, które obejrzałem, obejmujących testy w świecie rzeczywistym, meinheld wydaje się być najprostszym i najprostszym serwerem WSGI . (Możesz również rzucić okiem na uWSGI, jeśli nie masz nic przeciwko dalszej konfiguracji.)
Możesz także zainstalować meinheld przez pip3 za pomocą polecenia pip3 install meinheld
. Następnie spójrz na próbkę dostarczoną w meinheld source, aby zintegrować Flask : https://github.com/mopemope/meinheld/blob/master/example/flask_sample.py
* UWAGA: Po moim użyciu PyCharm linia jest from meinheld import server
podświetlana jako błąd, ale serwer będzie działał, więc możesz zignorować błąd.