O regulă critică de performanță în FastAPI este: nu folosiți niciodată apeluri blocante (precum time.sleep() sau clienți HTTP sincroni) în interiorul unei funcții async def! Acest lucru blochează întregul Event Loop. Dacă aveți o operațiune sincronă blocantă, declarați funcția simplu cu def, iar FastAPI o va trimite automat într-un fir separat de fundal (*external threadpool*).
Arhitectura Asincronă în FastAPI: Funcții async def vs def, Serverul ASGI Uvicorn și Concurență pe Fir Unic în FastAPI
Asincron & ASGI
FastAPI
Ghid complet pentru concurența asincronă în FastAPI: când se folosește async def (pentru I/O asincron) vs def normal (delegat către thread pool), arhitectura serverului ASGI Uvicorn și uvloop.
Sintaxă
@app.get('/items') async def read_items(): ...