РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
545 of 711 menu

Класс AsyncEngine

Класс AsyncEngine представляет собой асинхронный движок для работы с базой данных. Он создается функцией create_async_engine и управляет пулом асинхронных соединений, диалектом СУБД и транзакциями. Первым параметром при создании передается строка URL подключения, которая указывает тип базы данных и драйвер. Асинхронный движок позволяет выполнять запросы без блокировки основного потока.

Синтаксис

create_async_engine(url, [echo])

Пример

Давайте создадим асинхронный движок для базы SQLite в памяти:

from sqlalchemy.ext.asyncio import create_async_engine engine = create_async_engine('sqlite+aiosqlite:///:memory:') print(engine)

Результат выполнения кода:

"AsyncEngine(sqlite+aiosqlite:///:memory:)"

Пример

Давайте выполним простой SQL-запрос через асинхронное соединение:

import asyncio from sqlalchemy import text from sqlalchemy.ext.asyncio import create_async_engine async def main(): engine = create_async_engine('sqlite+aiosqlite:///:memory:') async with engine.connect() as conn: res = await conn.execute(text('SELECT 1')) print(res.fetchall()) asyncio.run(main())

Результат выполнения кода:

[(1,)]

Пример

Давайте получим доступ к синхронному движку через атрибут sync_engine:

from sqlalchemy.ext.asyncio import create_async_engine engine = create_async_engine('sqlite+aiosqlite:///:memory:') print(engine.sync_engine)

Результат выполнения кода:

"Engine(sqlite+aiosqlite:///:memory:)"

Смотрите также

  • метод connect,
    который открывает асинхронное соединение с базой
  • метод begin,
    который начинает асинхронную транзакцию
  • метод dispose,
    который закрывает пул соединений движка
  • атрибут sync_engine,
    который возвращает синхронный движок
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить