@vi_mogli_bi_menya_ponyat
pyTelegramBot

Python telebot и sqlite3 (Recursive use of cursors not allowed) помощь?

Есть телеграм бот, который отправляет сообщения, получая информацию из бд sqlite3:

@bot.message_handler(regexp=config[language]['cat_phones'])
def handle_text(message):
    cursor.execute('SELECT * FROM lots')
    for row in cursor:
        bot.send_message(message.from_user.id, '{0}\n{1}\n<b> {2:,} {3}</b>\n<b> {4:,} {3}</b>'.format(
        row[3], row[5], row[8], row[1], row[8]/100*20), parse_mode='HTML')


когда 2 человека одновременно жмут эту кнопку, то возникает ошибка `Recursive use of cursors not allowed`
И вот, только перед запуском бота я узнал, что sqlite3 не поддерживает многопточность.

Вопросы:
  1. Каким образом можно решить эту проблему не переходя на другой тип бд??
  2. Какие бд поддерживают многопоточность??
  • Вопрос задан
  • 176 просмотров
Пригласить эксперта
Ответы на вопрос 2
dimonchik2013
@dimonchik2013
почему ракеты не летают как птицы?
@OlegPyatakov
1. Решить можно, например, используя Threading Lock в функциях, работающих с БД.
2. Все работающие по сети: MySQL, PostresQL, MongoDB и прочие.
Ответ написан
Ваш ответ на вопрос

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

Войти через TM ID
Похожие вопросы
Popmechanic Москва
от 100 000 до 150 000 руб.
Panda Media Нижний Новгород
от 70 000 руб.
НЛ Континент Новосибирск
от 60 000 до 100 000 руб.