@Flosckow
Код:
@app.get("/cities/biggest", response_model=list[CitySchema])
async def get_biggest_cities(session: AsyncSession = Depends(get_session)):
cities = await service.get_biggest_cities(session)
return [CitySchema(name=c.name, population=c.population) for c in cities]
Есть вот такой код, как при запросе к бд с использованием asyncpg он будет работать, будет ли тут ожидание ответа? Поясню, мы ведь в итоге на ручке всё равно будем ждать результата от сервиса, так как в дальнейшем надо их использовать. Не совсем понимаю этот момент. Какого его отличие от например psycopg2, будет ли выигрыш от использования asyncpg?
Решения вопроса 1
@Everything_is_bad
Изучи основы asyncio, после этого у тебя должно появиться понимание как работает event loop, как в нем работают асинхронные и синхронные вызовы, как синхронный вызов на него влияет и т.п, и т.д.
Поясню, мы ведь в итоге на ручке всё равно будем ждать результата от сервиса
но не будет блокировать event loop
psycopg2
будет блокировать event loop
Ответы на вопрос 0