БД.
Сделал вот такой вариант класса, где есть фабрика, очередь — https://pastebin.pl/view/b2c23417
Есть несколько вопросов к нему:
1. Здесь же я могу и методы работы с БД разместить?!
2. Как закрывать все коннекты, если выполнение кода было прервано из-за ошибки или вручную?
3. Как закрывать коннекты по времени, если они не используются? Есть специальный метод или написать свой таймер?
По поводу комментариев в коде тоже буду рад услышать уточнения, комментарии, замечания — если я что-то не верно понял — буду рад понять правильно! 😄
1. Нет, разделяй логику работы с коннектами и логику работы с БД внутри коннекта 2. Тебе нужно хранить все коннекты которые были получены через твой пул, даже если они ещё заняты 3. Возможно можно просто при выдаче коннекта из твоего объекта проверять время и если что пересоздавать
а ещё ты забыл check_same_thread=False раз у тебя sqlite, многопоточность и пул
Эээ не не не, check_same_thread никогда не нужно выключать.
если он собирается класть коннекты в пул, а потом юзать в другом треде, то придется
Ну ок, если при этом коннект все равно используется только в рамках одного потока, то можно и выключить.
Обсуждают сегодня