Задать вопрос

Как сделать блокировку ресурса в асинхронном приложении?

Есть сервис на tonado и postgres.

Торнадо получает данные, забирает данные из базы, обрабатывает их, и пишет в базу. Пусть данные будут неким "количеством". Которое всегда ограничено. И не должно уходить в минус.

Проблема в том... что данные очень чувствительные. Уже сейчас, когда я нагружал приложение "количество" уходило в минус. Предвижу еще больше проблем, когда сервис будет запущен на продакшене - инстансов в 16.

Как сделать механизм запирания? Что бы пока один запрос не закончит свои действия, другие не могли читать? И при этом не скатиться с ситуации, когда 16 пользователей положат сервис?
  • Вопрос задан
  • 2665 просмотров
Подписаться 3 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Fullstack-разработчик на Python + нейросети
    20 месяцев
    Далее
  • Skillfactory
    Профессия Python-разработчик
    9 месяцев
    Далее
  • SF Education
    Бэкенд-разработчик на Python
    3 месяца
    Далее
Пригласить эксперта
Ответы на вопрос 1
AMar4enko
@AMar4enko
SELECT ... FOR UPDATE?
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы