-
fix: A21 phase 1 — 352 routes async sans await → threadpool (v7.8.0)
released this
2026-10-01 10:53:26 -04:00 | 112 commits to main since this release- Conversion
async def→defde TOUTES les routes dont le corps ne contient
niawait, niasync with, niasync for, niasyncio(scan automatique
corps par corps sur app/ : 352 converties, 0 dangereuses, vérifié
asyncio/run_coroutine/.result()absents). FastAPI exécute ces handlers
dans son threadpool → tout leur SQLite (get_conn()+conn.execute) quitte
l'event loop, sans changer une ligne de logique. - Répartition : api_v2 60, dashboard 40, collections 25, board 23,
workspace 19, wiki 17, permissions 14, api 14, main.py 6, + 35 fichiers. - Les 4 routers prioritaires de l'audit sont couverts par ce lot :
api_v2 60 + dashboard 40 + collections 25 + board 23 = 148 conversions
(le reste de leurs routes attend la phase 2 : elles ont de vraisawait). - Reste (phase 2) : les 311 routes avec de vrais
await→ enrouler les blocs
DB dansawait anyio.to_thread.run_sync(...); pas de wrapper partagé livré
(rien ne l'appellerait — YAGNI jusqu'au premier usage).
suite 1037/1037 (233 s) ·
ruff check app testsOK · docs à jourDownloads
- Conversion