Я, вероятно, неправильно понимаю асинхронную концепцию в FastAPI.
Я получаю доступ к корневой конечной точке следующего приложения от двух клиентов одновременно. Я бы ожидал, что FastAPI напечатает Started
дважды:
from fastapi import FastAPI
import asyncio
app = FastAPI()
@app.get("/")
async def read_root():
print('Started')
await asyncio.sleep(5)
print('Finished')
return {"Hello": "World"}
Вместо этого я получаю следующее, что выглядит очень не асинхронно:
Started
Finished
INFO: ('127.0.0.1', 49655) - "GET / HTTP/1.1" 200
Started
Finished
INFO: ('127.0.0.1', 49655) - "GET / HTTP/1.1" 200
Чего мне не хватает?