@Wolfengo
Я ещё зелёный, сильно не душите

Как создать очередь в Sqlite python3?

Написал бота, который записывает данные в базу данных. Столкнулся с такой проблемой:
Когда 2 и более человека одновременно включают бота, то из-за того что sqlite не любит многопоток, бот просто выключался.

import sqlite3
import threading

_____________________________________

 def add(self, user_id, zero_or_one):
        try:
            self.lock.acquire(True)
            self.cursor.execute("UPDATE driver SET reg = ? WHERE user_id = ?", (zero_or_one, user_id))
            return self.conn.commit()
        finally:
            self.lock.release()


Когда я сделал вот так, то бот выключаться перестал, но работать с другими людьми переставал.
К примеру, мы, вдвоём нажали на кнопку, и запись в бд произойдёт только у того, кто её первый нажал, а у второго ничего не произойдет вовсе.

Подскажите, пожалуйста. Как решить эту проблему? Или как создать очередь? Я читал про какие-то флаги многопотока, но я вообще не понял где и как их включать.
  • Вопрос задан
  • 286 просмотров
Пригласить эксперта
Ответы на вопрос 1
@This_is_MonoliT
Почитайте документацию про thread
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы