Метод recreate класса Pool
Метод recreate класса Pool закрывает
все текущие соединения в пуле и создает их заново.
Метод не принимает обязательных параметров и не
возвращает значения. Обычно он применяется после
изменения настроек сервера базы данных или при
подозрении на «зависшие» соединения.
Синтаксис
Pool.recreate()
Пример
Давайте создадим движок и получим его пул
соединений через атрибут pool:
from sqlalchemy import create_engine
engine = create_engine('sqlite:///:memory:')
pool = engine.pool
print(pool)
Результат выполнения кода:
"<sqlalchemy.pool.impl.SingletonThreadPool object at 0x...>"
Пример
Давайте вызовем метод recreate, чтобы
пересоздать все соединения в пуле:
from sqlalchemy import create_engine
engine = create_engine('sqlite:///:memory:')
pool = engine.pool
pool.recreate()
print('Pool recreated')
Результат выполнения кода:
"Pool recreated"
Пример
Давайте проверим состояние пула до и после
вызова метода recreate с помощью
метода status:
from sqlalchemy import create_engine
engine = create_engine('sqlite:///:memory:')
pool = engine.pool
print(pool.status())
pool.recreate()
print(pool.status())
Результат выполнения кода:
"Pool size: 0 Connections in pool: 0 Current Overflow: -5 Current Checked out connections: 0"
"Pool size: 0 Connections in pool: 0 Current Overflow: -5 Current Checked out connections: 0"