Какую базу данных посоветуете для решения проблемы?
Здравствуйте!
Есть телеграмм бот, который собирает инфу с сайта, добавляет в БД, и отправляет пользователю.
Код разделен на два части (парсер и сам бот), парсер работает через thread.
Появляется ошибка, при попытке когда я хочу изменить критерии сбора инфы, получаю ошибку sqlite3.OperationalError: database is locked
Как я понимаю, sqlite не дает возможности многопотоковой работы, или приходится делать костыль.
Какие БД посоветуете для решения проблемы? Или все-таки находить костыль и внедрять его?)
Не, нужно сменить разработчика, на того, кто разберется с режимами транзакций, или просто научится делать команду коммит при любом шевелении с базой, не связанном с select.
Ну... SQLIte это простая DBMS, расчитанная на однопользовательскую работу и короткий тип
транзакций (OLTP).
Для много-пользовательской нужен посредник. Его можно называть connection pool или как будет
угодно, но он должен быть в одном экземпляре чтобы эксклюзивно работать с БД с а с другой стороны
предоставлять много-пользовательский доступ к самому себе. Тоесть к посреднику. Таким образом
проблема уходит из SQLite и приходит в ваш язык программирования.
Дальше я вопросительно смотрю на вас и жду что вы, автор расскажете о том что у вас за язык и как
вы вообще программируете.
Последовал совету, написано в комментарии к вопросу, вроде как проблема решилась))
А так пишу на питоне с помощью aiogram, хотя пишу - громко сказано, только учусь писать))
denisland, молодец. И постарайся так часто не использовать слово костыль... Когда
джуны "вворачивают" слово костыль, это.... выглядит как будто твоя бабушка и дедушка
начинают говорить словечками типа ROFL, при тебе. А тебя - передергивает...