расширение, которое уведомляет пользователя о новом содержимом сайта

у меня есть новостной веб-сайт, который обновляется один-два раза в день, и я хочу разработать что-то, что позволит моим пользователям узнать, когда на моем веб-сайте появится новый контент, он будет отображать им всплывающее уведомление, только одно уведомление для каждого контента его звук простая проблема, с которой я сталкиваюсь, заключается в том, как я могу сделать это эффективным в crossrider без каждой перезагрузки страницы, делающей вызов в базу данных?

как я это делаю прямо сейчас (неэффективно) у меня есть php-файл моего сервера, в котором публикуются идентификаторы последних новостей, crossrider читает этот файл и для каждого идентификатора вызывает crossrider db и проверяет, существует ли этот идентификатор, если да, чем пользователь уже получил уведомление об этом содержимом и не должен быть уведомлен, а если его не существует, уведомить пользователя. поэтому, как вы можете видеть при каждой перезагрузке страницы, расширение будет звонить на мой сервер и на сервер БД. есть ли лучший способ построить это? благодарю вас


person Amir Bar    schedule 25.11.2012    source источник


Ответы (1)


Если я правильно понимаю ваш запрос, вы можете получить немедленную эффективность, вызвав базу данных Crossrider, используя appAPI.db.getList, чтобы получить массив всех элементов базы данных (вместо вызова базы данных для каждого идентификатора), а затем обработать идентификаторы по ним.

Я буду рад изучить другие способы повышения эффективности вашего алгоритма, если вы предоставите идентификатор расширения.

person Shlomo    schedule 25.11.2012
comment
привет, Шломо, спасибо, я думаю, что я не правильно объяснил, неэффективно проверять базу данных моего сайта, а затем базу данных crossfire каждый раз, когда кто-то обновляет веб-сайт, скажем, 100 человек, использующих расширение, и они просматривают сеть в одно и то же время для 1 час, поэтому для каждого человека будет, скажем, 1000X2X100 вызовов в базу данных, то, что я ищу, это что-то, кроме проверки нового контента раз в час, например, я ищу что-то вроде файлов cookie, я могу добавить lastTimeCheck в crossfire db и проверяю каждый раз, но я боюсь залить их db - person Amir Bar; 25.11.2012
comment
Поясню, база данных Crossrider является локальной и в этом смысле похожа на файлы cookie (см. описание в appAPI.db). Что касается lastTimeCheck, вы можете использовать функцию истечения срока действия db для истечения срока действия элементов данных через указанный вами период времени. База данных Crossrider автоматически удалит элемент данных по истечении срока его действия, так что если вы сделаете вызов для получения элемента данных (appAPI.db.get) и возвращает null, вы знаете, что пришло время получить новую копию данных. Надеюсь, это поможет. - person Shlomo; 25.11.2012