Как обработать следующий случай, чтобы не перезаписывать свои данные другим. Здесь, когда выполняются оба потока, приращение было зарегистрировано только один раз. Это перезаписано другим. Сон добавлен с целью симуляции ситуаций.
def thread_one(name):
logging.info("Thread %s: starting", name)
user = User.query.filter_by(user_id=1).first()
logging.info(f"T1 {user.counter}")
user.counter += 1
logging.info(f"T1 After Inc {user.counter}")
db_session.commit()
time.sleep(5)
logging.info("Thread %s: finishing", name)
def thread_two(name):
logging.info("Thread %s: starting", name)
user = User.query.filter_by(user_id=1).first()
logging.info(f"T2 {user.counter}")
time.sleep(5)
user.counter += 1
logging.info(f"T2 After Inc {user.counter}")
db_session.commit()
logging.info("Thread %s: finishing", name)