для алхимии. Решение в том, чтобы использовать пул соединений. Есть примеры как в алхимии это делается?
Глобальные переменные что ли опять?
Показывай код и ошибку
да, я все еще их не убрал, как раз сел читать про этот ваш clean architecture и начал потихоньку чистить код. Сейчас я переделываю все свои 100500 функций которые лежат в одном файле в один класс Database, в который передается сессия и затем уже через self.session делаю crud операции. Пока тестил работоспособность фич до этой перестройки, была вот эта ошибка, поэтому и решил спросить)
Да в целом глобалы не связаны с ча. Там про паралелльные вещи
Ну я сейчас глянул local history, там вот такое было типа такого
Да чот не должно это приводить к ошибке конкурентности
так это же даже не фабрика сессий, а одна сессия юзается в каждой функции. Разве такое и не должно было подобную дичь вытворять?
А, я опять напутал сешнмейкер и сессию. Всё глупые гайды флешбеки дают:(
Что за глупые гайды?
Ну вот у тебя объекты, работающие с лупом создаются вне работающего лупа. Поведение непредсказуемо
Да я знаю что херню сделал) Теперь пытаюсь понять как пофиксить
Может у него ещё и несколько лупом там
я до сих пор не понимаю что это и как с этим работать)
Не понял А где там объекты создаются вне лупа?
Так это ж просто как создание класса, обычный инит Оно не должно никакие лупы трогать в ините
почему не должно?
ну прикол в том что все происходящее в боте пихается в одну единственную сессию, поэтому когда в боте одновременно много что происходит, в сессии видимо внутри какая-то каша и при коммите происходит бум
А зачем? В ините класс должен только инициализироваться для работы же Зачем ему лупы трогать в данном случае?
если этот класс, работающий только в асинк контексте, он может из лупа что-то получать. Ну или ссылку на луп сохранять
Окей, услышал. Спасибо за ответ
Обсуждают сегодня