Я использую приведенный ниже код.3 запроса для каждой (3 вкладки браузера, которые я быстро обновляю).
Первый time.sleep
занимает 60 секунд для всех запросов, выполняемых при блокировке.
Второй asycio.sleep
запускаетсявсе 3 запроса мгновенно, так как я не ожидаю.
Третий await asyncio.sleep
берет 20 секунд для первого запроса, затем еще 10 для второго и затем еще 10 для третьего.т.е. всего 40 с.Я ожидаю, что я смогу выполнить большое количество запросов всего за 20 с, поскольку я не должен блокировать?
import asyncio
import time
from datetime import datetime
from sanic import Sanic
from sanic.response import json
app = Sanic()
@app.route("/")
async def test(request):
# time.sleep(20)
# asyncio.sleep(20)
await asyncio.sleep(20)
return json({"hello": datetime.now().isoformat()})
if __name__ == "__main__":
app.run(host="0.0.0.0", port=8000)