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

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

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

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

Как сделать механизм запирания? Что бы пока один запрос не закончит свои действия, другие не могли читать? И при этом не скатиться с ситуации, когда 16 пользователей положат сервис?
  • Вопрос задан
  • 2664 просмотра
Пригласить эксперта
Ответы на вопрос 1
AMar4enko
@AMar4enko
SELECT ... FOR UPDATE?
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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