asyncio.sleep正在阻止?

时间:2019-02-08 06:52:02

标签: python python-3.x python-asyncio sanic

我正在运行以下代码。每个请求3个请求(我正在快速刷新的3个浏览器标签)。

我阻塞时,第一个time.sleep花费60s运行所有请求。

第二个asycio.sleep会立即运行所有3个请求,因为我没有等待。

第三个await asyncio.sleep的第一个请求花费20s,第二个请求花费10s,第三个请求花费10s。即总计40秒。我希望我可以在20s左右运行大量请求,因为我不应该阻止?

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)

0 个答案:

没有答案