Метод status класса Pool
Метод status класса Pool возвращает строку
с описанием текущего состояния пула соединений.
Метод не принимает параметров и используется для
диагностики: он показывает, сколько соединений
открыто, сколько свободно и сколько занято.
Синтаксис
pool.status()
Пример
Давайте создадим движок для базы SQLite
в памяти и посмотрим состояние его пула до
выполнения запросов:
from sqlalchemy import create_engine
engine = create_engine('sqlite:///:memory:')
print(engine.pool.status())
Результат выполнения кода:
"Pool size: 5 Connections in pool: 0 Current Overflow: -5 Current Checked out connections: 0"
Пример
Давайте откроем соединение и снова проверим состояние пула. Одно соединение будет занято:
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: 5 Connections in pool: 0 Current Overflow: -4 Current Checked out connections: 1"
Пример
Давайте посмотрим состояние пула при явном
указании размера через pool_size:
from sqlalchemy import create_engine
engine = create_engine(
'sqlite:///:memory:',
pool_size=10
)
print(engine.pool.status())
Результат выполнения кода:
"Pool size: 10 Connections in pool: 0 Current Overflow: -10 Current Checked out connections: 0"