При удалении пользователя у публикации, которые он оценил рейтинг рассчитывается с учетом его оценок
Есть такой глюк. При удалении пользователя с сайта (совсем со всеми материалами, полное удаление из админки), у публикаций, которые этот пользователь успел оценить, не пересчитывается рейтинг. То есть оценка в рейтинге публикаций выводится так словно, оценки пользователя остались, хот по факту их нет. Пример
Нужно сделать задачу в планировщике, которая будет раз в сутки пересчитывать оценки всех публикаций, блогов итд и считать правильную оценку. Важно, чтобы эта задача не вешала сервер до ошибки 503.
Если есть другой путь решения проблемы, можем поступить по вашему.
Как вариант, возможно рассмотреть пересчет когда кто-то изменяет рейтинг у самой записи
Плюсы: Минимум нагрузки на железо
Минусы: Реальный рейтинг может немного отличаться от обозначенного до очередного "голосования". Чем "старше" запись, тем она дольше будет "врать".
Или второй вариант — пересчитывать рейтинг раз в день при просмотре записи.
Плюсы: Реальный рейтинг может немного отличаться от обозначенного до "утра". Чем "старше" запись, тем она реже будет пересчитываться.
Минусы: Первый раз в день запись будет дольше открываться.
Или второй вариант — пересчитывать рейтинг раз в день при просмотре записи.
Плюсы: Реальный рейтинг может немного отличаться от обозначенного до "утра". Чем "старше" запись, тем она реже будет пересчитываться.
Минусы: Первый раз в день запись будет дольше открываться.
Вот этот вариант вполне подходит. Это большая нагрузка? Сколько возьмете за реализацию?
я бы добавил "при просмотре пользователем". Чтобы не пугать тормозами поисковики и т.п.пересчитывать рейтинг раз в день при просмотре записи
Вы бы взялись за эту задачу? За какую сумму?
я бы добавил "при просмотре пользователем". Чтобы не пугать тормозами поисковики и т.п.пересчитывать рейтинг раз в день при просмотре записи
Я пока занят.
Не предлагали, но отказался ))). Тоже занят. Ещё не все свои компоненты обновил ((а Лоадырь отказался?
Не предлагали, но отказался ))). Тоже занят. Ещё не все свои компоненты обновил ((а Лоадырь отказался?
Вообще-то предлагал, но вы не ответили. Теперь понятно, что заняты
Действительно, не заметил. Но в любом случае я тут накидал лишь возможные варианты, а не предлагал себя в роли исполнителя.Вообще-то предлагал, но вы не ответили.
Есть ещё вариант, когда удаляется юзер получить id всех записей, в которых он "наследил" и сохранить их. Потом по крону (ночью в полнолуние, когда расцветает папоротник или в ночь на Ивана Купалу) запустить пересчет только этих записей, а не всех и не каждый день. Причем если удалили двух и более юзеров, то объединять эти id, чтобы дважды не пересчитывать рейтинг одной записи.