Die Lösung von @ sajid-siddiqi ist technisch korrekt, aber denken Sie daran, dass der in Werkzeug integrierte WSGI- Server (der in Flask gepackt ist und wofür er verwendet wird)app.run()
) nur Single-Threaded ist.
Installieren Sie einen WSGI- Server, um Multithread-Verhalten verarbeiten zu können. Ich habe eine Reihe von Recherchen zu verschiedenen WSGI- Serverleistungen durchgeführt. Ihre Anforderungen können variieren, aber wenn Sie nur Flask verwenden , würde ich einen der folgenden Webserver empfehlen.
Update (2020-07-25): Es sieht so aus, als ob gevent vor 5 Jahren mit der Unterstützung von python3 begonnen hat, kurz nachdem ich kommentiert habe, dass dies nicht der Fall ist , sodass Sie gevent jetzt verwenden können.
gevent
Sie können gevent über pip mit dem Befehl pip install gevent
oder pip3 mit dem Befehl installieren pip3 install gevent
. Anweisungen zum entsprechenden Ändern Ihres Codes finden Sie hier: https://flask.palletsprojects.com/de/1.1.x/deploying/wsgi-standalone/#gevent
meinheld
gevent ist besser, aber von allen Benchmarks, die ich mir angesehen habe und die reale Tests beinhalten, scheint meinheld der einfachste und einfachste WSGI- Server zu sein. (Sie können sich auch uWSGI ansehen, wenn Ihnen die Konfiguration nichts ausmacht.)
Sie können meinheld auch über pip3 mit dem Befehl installieren pip3 install meinheld
. Schauen Sie sich von dort aus das Beispiel in der meinheld- Quelle an, um Flask zu integrieren : https://github.com/mopemope/meinheld/blob/master/example/flask_sample.py
* HINWEIS: Bei meiner Verwendung von PyCharm wird die Zeile from meinheld import server
als Fehler hervorgehoben, aber der Server wird ausgeführt, sodass Sie den Fehler ignorieren können.