Flask là một máy chủ web đơn luồng. Nhưng tôi muốn làm cho nó sẽ không chặn khi xử lý một số yêu cầu tốn thời gian.Làm thế nào để làm cho phản ứng bình phản ứng với máy khách một cách không đồng bộ?
Ví dụ:
from flask import Flask
import time
import sys
app = Flask(__name__)
@app.route("/")
def hello():
print "request"
sys.stdout.flush()
for _ in range(10000000):
for j in range(10000000):
i = 1
return "Hello World!"
if __name__ == "__main__":
app.run(debug=True)
tôi muốn khi mọi yêu cầu của khách hàng đến máy chủ, nó luôn luôn đầu ra "yêu cầu" trên giao diện điều khiển ngay lập tức. Tôi đã thử gunicorn
và chạy với gunicorn -k gevent -w 4 a:app
nhưng nó vẫn xuất hiện đồng bộ.
http://stackoverflow.com/questions/18430692/perform-task-directly-after-returning-json/18430861#18430861 –
http://python-rq.org/ – zenpoy
_ "Flask là một trang web chủ đề duy nhất máy chủ. "_ Điều này không chính xác. Flask là một khung công tác và có chức năng giúp bạn tạo một máy chủ gỡ lỗi. [Máy chủ gỡ lỗi có thể sử dụng nhiều luồng hoặc quy trình] (http://flask.pocoo.org/docs/api/#flask.Flask.run). _ "Tôi muốn khi mỗi khách hàng yêu cầu máy chủ, nó luôn luôn xuất" yêu cầu "trên bàn điều khiển ngay lập tức .... nhưng nó vẫn xuất hiện đồng bộ" _ đầu ra chính xác bạn đang nhận được là gì? –