Giải pháp từ @ sajid-siddiqi là đúng về mặt kỹ thuật, nhưng hãy nhớ rằng máy chủ WSGI tích hợp trong Werkzeug (được đóng gói thành Flask và nó dùng để làm gì app.run()
) chỉ là một luồng.
Cài đặt máy chủ WSGI để có thể xử lý hành vi đa luồng. Tôi đã thực hiện một loạt nghiên cứu về các hiệu suất máy chủ WSGI khác nhau . Nhu cầu của bạn có thể khác nhau, nhưng nếu tất cả những gì bạn đang sử dụng là Flask , thì tôi khuyên bạn nên sử dụng một trong những máy chủ web sau.
Cập nhật (2020-07-25): Có vẻ như gevent đã bắt đầu hỗ trợ python3 cách đây 5 năm, ngay sau khi tôi nhận xét là không, vì vậy bạn có thể sử dụng gevent ngay bây giờ.
gevent
Bạn có thể cài đặt gevent thông qua pip bằng lệnh pip install gevent
hoặc pip3 bằng lệnh pip3 install gevent
. Hướng dẫn về cách sửa đổi mã của bạn cho phù hợp ở đây: https://flask.palletsprojects.com/en/1.1.x/deploy/wsgi-standalone/#gevent
meinheld
gevent tốt hơn, nhưng từ tất cả các tiêu chuẩn mà tôi đã xem xét liên quan đến thử nghiệm trong thế giới thực, meinheld có vẻ là máy chủ WSGI đơn giản, dễ hiểu nhất . (Bạn cũng có thể xem qua uWSGI nếu bạn không ngại một số cấu hình khác.)
Bạn cũng có thể cài đặt meinheld thông qua pip3 bằng lệnh pip3 install meinheld
. Từ đó, hãy xem mẫu được cung cấp trong nguồn meinheld để tích hợp Flask : https://github.com/mopemope/meinheld/blob/master/example/flask_sample.py
* LƯU Ý: Từ việc sử dụng PyCharm của tôi , dòng này from meinheld import server
nổi bật là lỗi, nhưng máy chủ sẽ chạy, vì vậy bạn có thể bỏ qua lỗi.