Задать вопрос
@Flosckow

Каким образом работает asyncpg?

@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?
  • Вопрос задан
  • 176 просмотров
Подписаться 2 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Python-разработчик: расширенный курс + нейросети
    12 месяцев
    Далее
  • Skillbox
    Python-разработчик
    10 месяцев
    Далее
  • ProductStar
    Профессия: Python-разработчик
    8 месяцев
    Далее
Решения вопроса 1
@Everything_is_bad
Изучи основы asyncio, после этого у тебя должно появиться понимание как работает event loop, как в нем работают асинхронные и синхронные вызовы, как синхронный вызов на него влияет и т.п, и т.д.

Поясню, мы ведь в итоге на ручке всё равно будем ждать результата от сервиса
но не будет блокировать event loop

psycopg2
будет блокировать event loop
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы