@MaLuTkA_UA

Как сделать отправку сообщений через websosket с динамической задержкой?

Нужно сделать динамическую отправку сообщений через websocket. Как сделать отправку всем сразу либо нужной группе я знаю, но нужна именно отправка с задержкой и здесь увы я не знаю в какую сторону копать.

Под динамической отправкой подразумевается следующий цикл, например: У нас есть сервис, где например создаётся запись, и есть пару сотен желающих увидеть эту запись, но по условию кто-то должен его увидеть сразу, а кто-то с задержкой, для каждого желающего она разная: от 1 до 120 секунд.

На данный момент получение этих записей происходит с помощью http. Но так как таких желающих очень много 2000-3000 человек, которые запрашивают этот список раз в секунду создаётся большая нагрузка и много трафика.

Чтобы избежать этого хочу, прикрутил websocket, но как быть с задержкой? Принимаю любые ваши варианты и версии на рассмотрение.
  • Вопрос задан
  • 135 просмотров
Пригласить эксперта
Ответы на вопрос 1
@cheevauva
Приходит запрос, смотришь, если нужно отправить сейчас отправляешь сейчас, то что нужно отправить через время, отправляешь запись в массив (который в памяти лежит). Создаешь таймер например на каждую секунду, в нем пробегаешь по этому массиву и если время подошло, то отправляешь и удаляешь запись из него. Профит.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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