5
Tôi đang cố gắng ra Sanic và chạy thế giới ứng dụng Xin chào trừ tôi đã thêm một giấc ngủ trong xử lý yêu cầu:yêu cầu Non-blocking trong khuôn khổ Sanic
@app.route("/")
async def test(request):
time.sleep(5)
return json({"hello": "world"})
Tuy nhiên, khi tôi chạy này, nó vẫn khối trên mỗi yêu cầu:
$ python app.py
2017-02-18 19:15:22,242: INFO: Goin' Fast @ http://0.0.0.0:8000
2017-02-18 19:15:22,245: INFO: Starting worker [15867]
Trong hai thiết bị đầu cuối riêng biệt:
$ time curl http://0.0.0.0:8000/
{"hello":"world"}
real 0m5.009s
user 0m0.003s
sys 0m0.001s
$ time curl http://0.0.0.0:8000/
{"hello":"world"}
real 0m9.459s
user 0m0.000s
sys 0m0.004s
tôi nghĩ ý tưởng của Sanic đang có thể xử lý tất cả các yêu cầu không đồng bộ và không bị chặn cho đến khi hoàn thành xử lý yêu cầu tiếp theo. Am i thiếu cái gì ở đây?
Ahhh, duh, tất cả mọi thứ trong phạm vi xử lý phải non-blocking là tốt. Cảm ơn! – mart1n