TransWikia.com

Где физически находится pool SQLAlchemy

Stack Overflow на русском Asked by GixWay on November 20, 2021

По поиску наткнулся на то, что у SQLAlchemy есть пул потоков: http://docs.sqlalchemy.org/en/latest/core/pooling.html
Настраивается он просто, указав параметры в create_engine.

У меня вопрос, где физически храниться этот пул? В каждой запущенной процессе питона (я так понимаю в каждом wsgi) свой пул? Или как-то по другому? Как вообще это устроенно в питоне?

One Answer

Не потоков, соединений с базой. Да, у каждого процесса пул свой. Это обычный callable, возвращающийся соединение из управляемой им коллекции. То есть в предельно простом случае это может быть просто функция, возвращающая новое соединение. Реальные пулы - это классы, хранящие внутри себя коллекции свободных и выданных подключений, ведущие статистику по времени жизни соединений, проверяющие их активность, закрывающие и открывающие их при необходимости.

Answered by Sergey Gornostaev on November 20, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP