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

Метод close класса AsyncConnection

Метод close класса AsyncConnection закрывает асинхронное соединение с базой данных. После вызова метода соединение становится недействительным, а все связанные с ним ресурсы освобождаются. Параметров метод не принимает. Метод является асинхронным, поэтому вызывается через await.

Обычно метод close используется совместно с асинхронным контекстным менеджером async with, который вызывает его автоматически при выходе из блока. Однако метод можно вызвать и вручную, когда соединение нужно закрыть досрочно.

Синтаксис

await conn.close()

Пример

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

import asyncio from sqlalchemy.ext.asyncio import create_async_engine async def main(): engine = create_async_engine('sqlite+aiosqlite:///:memory:') conn = await engine.connect() print(conn.closed) await conn.close() print(conn.closed) await engine.dispose() asyncio.run(main())

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

False True

Пример

Давайте выполним запрос, а затем закроем соединение методом close:

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

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

1

Пример

Давайте используем метод close вместе с асинхронным контекстным менеджером, который вызывает его автоматически:

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.scalar()) print(conn.closed) await engine.dispose() asyncio.run(main())

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

1 True

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

  • класс AsyncConnection,
    который представляет асинхронное соединение
  • метод execute,
    который выполняет SQL-запросы асинхронно
  • метод commit,
    который фиксирует текущую транзакцию
  • метод rollback,
    который откатывает текущую транзакцию
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить