DI?
Использую либу Dependency injection (ets-labs), сессию хочется открыть, а потом корректно закрыть. В документации нашел Resource provider, сделал ресурс на фабрику сессии, при использовании инитится ресурс, сессия рабочая, но при shutdown_resources - который по логике должен закрывать сессию (через session.remove() сделал), последующее использование не приводит к какой-то ошибке. Как быть? Как-то можно сделать по другому?
У dependency_injector есть прекрасная особенность при работе с ресурсами. Если функция подняла исключение, то ресурсы не закрываются. Может это твой случай?
Кстати, у меня походу проблемы нет, т.к я через remove() возвращаю в пул сессию, а потом когда опять использую он просто её берет из пула и дальше идет работа. Это вроде нормальное поведение
Что за пул сессий?
https://docs.sqlalchemy.org/en/13/orm/contextual.html
Только сегодня подключал DI в свой проект. Тоже работаю с алхимией на фласке. То я взял за основу пример из fastapi + sqlalchemy и по аналогии запилил
А где ты сессию закрываешь?
https://python-dependency-injector.ets-labs.org/examples/fastapi-sqlalchemy.html#database
Обсуждают сегодня