Задать вопрос
Lumus
@Lumus

Как избежать переполнения пула в SQLalchemy?

При некоторой нагрузке на сервер возникает ошибка sqlalchemy:
sqlalchemy.exc.TimeoutError: QueuePool limit of size 10 overflow 20 reached, connection timed out, timeout 30.00 (Background on this error at: https://sqlalche.me/e/20/3o7r)


Я вроде закрываю все сессии автоматически с помощью декоратора (код ниже), но они всё равно зависают в пуле, как этого избежать?

def connection(method):
    def wrapper(*args, **kwargs):
        with session_factory() as session:
            try:
                return method(*args, session=session, **kwargs)
            except Exception as e:
                session.close()
                print('[ERROR]-[Connect to DB]: ', e)
            finally:
                session.close() 

    return wrapper
  • Вопрос задан
  • 48 просмотров
Подписаться 1 Средний 4 комментария
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Sim-Ba Pay Санкт-Петербург
от 180 000 ₽
HR Prime Москва
от 300 000 до 3 800 000 ₽
МТС Красноярск
от 50 000 ₽