У меня есть сайт asp.net-mvc, и люди управляют списком проектов. Исходя из некоторого алгоритма, я могу сказать, устарел ли проект. Когда пользователь входит в систему, я хочу, чтобы он показывал количество устаревших проектов (аналогично тому, как я вижу несколько обновлений в папке "Входящие" ).
Алгоритм вычисления устаревших проектов выглядит медленным, поэтому, если каждый пользователь регистрируется, я должен:
- Запустить запрос для всего проекта, где они являются владельцем
- Запустить алгоритм IsStale()
- Отобразить счетчик, где IsStale = true
Я предполагаю, что это будет очень медленно. Кроме того, во всем проекте пишите, мне придется пересчитать выше, чтобы увидеть, изменились ли они.
Еще одна идея, которую я имел, заключалась в создании таблицы и выполнении задания за все минуты, чтобы рассчитать устаревшие проекты и сохранить последний счет в этой таблице показателей. Затем просто выполните запрос, когда пользователи войдут в систему. Проблема в том, что мне по-прежнему приходится синхронизировать эту таблицу, и если она обрабатывает только один раз каждую минуту, если люди обновляют проекты, это не изменит значение до минуты.
Любая идея для быстрого, масштабируемого способа поддержки этой концепции входящих сообщений для предупреждения пользователей о количестве элементов для просмотра