5
Próbuję się Sanic i prowadziła Hello World aplikację wyjątkiem dodałem spać w przewodnika żądanie:non-blocking wnioski w Šanić ramach
@app.route("/")
async def test(request):
time.sleep(5)
return json({"hello": "world"})
Jednak, gdy ten, to nadal na bloki każde żądanie:
$ 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]
W dwóch oddzielnych zacisków:
$ 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
Myślałem pomysł Sanic jest w stanie przetwarzać wszystkie żądania asynchronicznie i nie blokować, dopóki nie zakończy się przetwarzanie następnego. Czy coś mi umyka?
Ahhh, duh, wszystko w ramach obsługi musi być non-blocking, jak również. Dzięki! – mart1n