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

Как сделать, чтобы работала блокировка для большого количества запросов?

Здравствуйте. Дело в том, что я использую сокеты. И почти в одно и то же время, допустим, в 20 часов и 0 минут, у всех пользователей скрипт отправляет запрос на сокет сервер. Отправляя этот запрос, у меня есть цель: выполнить нужное мне событие (1.1) один раз, и вернуть всем результаты. Но у меня не совсем получается.

Я делаю так: когда приходит запрос от пользователя я проверяю, был ли запрос раньше, и если не было, помечаю в базе, что запрос только что произошел. Дальше, если еще кто-то шлет запрос, то уже видно, что запрос уже произошел, и текущий клиент ждет выполнения нужного мне события (1.1). Проблема состоит в том, что иногда Node.JS не успевает выполнить запрос к базе, и за это время, пока идёт запрос, успевает "проскочить" несколько клиентов и нужно мне события (1.1) выполняется столько раз, сколько пользователей проскочило, плюс тот пользователь, что инициировал первый запрос.

Как быть? Может есть какой-то алгоритм? Уже голову сломал.
  • Вопрос задан
  • 534 просмотра
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
@vshvydky
А слабо бродкаст с сервера кинуть всем?
Ответ написан
Ваш ответ на вопрос

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

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