2

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

0 回答 0