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

Метод connect

Метод connect класса Pool возвращает соединение из пула. Первым параметром метод принимает необязательный объект соединения, а также допускает передачу дополнительных параметров через именованные аргументы. Полученное соединение необходимо вернуть в пул методом close, иначе оно останется занятым и пул не сможет переиспользовать его.

Синтаксис

pool.connect()

Пример

Давайте создадим пул и получим из него соединение:

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

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

"<sqlalchemy.pool.base._ConnectionFairy object at ...>"

Пример

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

from sqlalchemy import create_engine, text engine = create_engine('sqlite:///:memory:') pool = engine.pool conn = pool.connect() res = conn.execute(text('SELECT 1')) print(res.scalar()) conn.close()

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

1

Пример

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

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

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

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

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

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