17 / 17
Какие самые частые баги в async-коде и как их избежать?
Частые проблемы: блокирующие вызовы (time.sleep, sync requests, тяжёлые вычисления) внутри async-функций тормозят весь event loop; «забыл await» — корутина не запустится; fire-and-forget без ссылки — task собирается GC; проглоченный CancelledError. Решения: asyncio.to_thread/run_in_executor для блокирующих вызовов, ruff/mypy для забытых await, держать ссылки на задачи, всегда пробрасывать CancelledError.