SuperNatural
@SuperNatural

Как экономично организовать уведомления сервер-все клиенты?

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

У меня была идея сделать обычный json файл, который бы обновлялся скриптом по крону, но возникли вопросы:
  1. Что будет происходить в момент перезаписи файла?
  2. Можно ли указать, чтобы ajax даже не скачивал новый json, если он не обновлялся с прошлого раза?
  3. Стоит ли вообще так делать?

Как это правильно сделать?
  • Вопрос задан
  • 223 просмотра
Пригласить эксперта
Ответы на вопрос 2
begemot_sun
@begemot_sun
Программист в душе.
У вас есть страница, которая ссылается на некий статический v1.json.
Теперь, когда вам нужно обновить данные, просто заливаете v2.json и меняете ссылку на него на сайте (в скриптах или еще где-то).
Т.о. все клиенты которым нужен новый файл, будут его скачивать Все клиеты, у которых он есть, скачивать повторно его не будут. Со временем удаляйте v1.json.
Ответ написан
coderisimo
@coderisimo
Что будет происходить в момент перезаписи файла?
- ничего, вы можете проверять появился ли новый файл, если да то отдаете его кленту.
Можно ли указать, чтобы ajax даже не скачивал новый json, если он не обновлялся с прошлого раза?
у каждого JSON может быть версия - можно просто генерировать новое имя файла . Скрипт получает запрос с версией json , который уже есть. Далее скрипт смотрит если на сервере файл с таким же именем - возвращает пустоту, если имя отличается- возвращает новый json файл. Таким образом вам не нужно гонять по сети одно и тоже миллион раз.
Стоит ли вообще так делать?
- если сокеты использовать не хотите ))
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы