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

Класс Pool

Класс Pool представляет собой пул соединений с базой данных. Пул хранит открытые соединения и переиспользует их между запросами, что позволяет избежать постоянного открытия и закрытия соединений. Экземпляр пула создается автоматически при создании движка через create_engine и доступен через атрибут pool объекта Engine. Пул управляет количеством соединений, временем их жизни и поведением при переполнении.

Синтаксис

engine.pool

Пример

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

from sqlalchemy import create_engine engine = create_engine('sqlite:///:memory:') print(engine.pool)

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

"<sqlalchemy.pool.impl.SingletonThreadPool object at 0x...>"

Пример

Давайте посмотрим статус пула после выполнения запроса через метод status:

from sqlalchemy import create_engine, text engine = create_engine('sqlite:///:memory:') with engine.connect() as conn: conn.execute(text('SELECT 1')) print(engine.pool.status())

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

"Pool size: 1 Connections in pool: 0 Current Overflow: -1 Current Checked out connections: 0"

Пример

Давайте освободим все соединения пула методом dispose:

from sqlalchemy import create_engine engine = create_engine('sqlite:///:memory:') engine.pool.dispose() print(engine.pool.status())

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

"Pool size: 1 Connections in pool: 0 Current Overflow: -1 Current Checked out connections: 0"

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

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