Уведомления

Группа в Telegram: @pythonsu

#1 Март 25, 2021 16:04:49

pyDev
Зарегистрирован: 2017-11-22
Сообщения: 19
Репутация: +  0  -
Профиль   Отправить e-mail  

Разграничение одновременных запросов

Здравствуйте!
Есть небольшое приложение на FastAPI и урл перейдя по которому срабатывает определенный алгоритм. По условию этот алгоритм должен срабатывать только раз в 5мин. И если мы или кто-то другой обратится по этому урлу и 5 мин. ещё не прошло, то алгоритм не срабатывает. Так вот, как исключить ситуацию двойного выполнение алгоритма когда прилетает два запроса одновременно?

Офлайн

#2 Март 26, 2021 10:04:42

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9727
Репутация: +  843  -
Профиль   Отправить e-mail  

Разграничение одновременных запросов

pyDev
Так вот, как исключить ситуацию двойного выполнение алгоритма когда прилетает два запроса одновременно?
Надо сохранить запрос и время этого запроса в базу данных. При следующем запросе нужно искать запрос в базе данных, брать его время из базы данных и сравнивать со временем нового запроса. Если разница во времени меньше пяти минут, то выбрасывать новый запрос. Если разница во времени равна или больше пяти минут, то перезаписывать новый запрос с его временем в базу данных на место старого запроса.



Отредактировано py.user.next (Март 26, 2021 10:05:30)

Офлайн

#3 Март 26, 2021 10:55:23

AD0DE412
Зарегистрирован: 2019-05-12
Сообщения: 1130
Репутация: +  44  -
Профиль   Отправить e-mail  

Разграничение одновременных запросов

гуглите идемпотентность



1. пжлст, форматируйте код, это в панели создания сообщений, выделите код и нажмите что то вроде
2. чтобы вставить изображение залейте его куда нибудь (например), нажмите и вставьте ссылку на его url

есчщо

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version