我正在运行以下代码。每个请求 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)