Solusi dari @ sajid-siddiqi secara teknis benar, tetapi perlu diingat bahwa server WSGI built-in di Werkzeug (yang dikemas ke dalam Flask dan untuk apa app.run()
) hanya single-threaded.
Instal server WSGI agar dapat menangani perilaku multi-threaded. Saya melakukan banyak penelitian tentang berbagai kinerja server WSGI . Kebutuhan Anda mungkin berbeda, tetapi jika yang Anda gunakan hanyalah Flask , maka saya akan merekomendasikan salah satu server web berikut.
Pembaruan (2020-07-25): Sepertinya gevent mulai mendukung python3 5 tahun yang lalu, tak lama setelah saya berkomentar bahwa itu tidak, jadi Anda dapat menggunakan gevent sekarang.
gevent
Anda dapat menginstal gevent melalui pip dengan perintah pip install gevent
atau pip3 dengan perintah pip3 install gevent
. Petunjuk tentang cara mengubah kode Anda ada di sini: https://flask.palletsprojects.com/en/1.1.x/deploying/wsgi-standalone/#gevent
meinheld
gevent lebih baik, tetapi dari semua tolok ukur yang saya lihat yang melibatkan pengujian dunia nyata, meinheld tampaknya menjadi server WSGI yang paling lugas dan sederhana . (Anda juga dapat melihat uWSGI jika Anda tidak keberatan dengan konfigurasi lainnya.)
Anda juga dapat menginstal meinheld melalui pip3 dengan perintah pip3 install meinheld
. Dari sana, lihat contoh yang disediakan di sumber meinheld untuk mengintegrasikan Flask : https://github.com/mopemope/meinheld/blob/master/example/flask_sample.py
* CATATAN: Dari penggunaan PyCharm saya , garis from meinheld import server
disorot sebagai kesalahan, tetapi server akan berjalan, sehingga Anda dapat mengabaikan kesalahan tersebut.