|
|
|||||||
Вкратце: Если к отчету прикреплена голосовалка и Если в данной голосовалке кто-либо голосует за "недоверие" то у такого отчета счетчик просмотров сбрасывается в "0" |
||||||||
|
|
|||||||
счетчик просмотров никак не связан с голосовалкой. для учета кол-ва просмотров используются хитрые механимы для снижения нагрузки на сервер. поэтому дынные о кол-ве просмотров показываются с задержкой. вы вообще воспроизводили эту ситуацию? попробуйте так сделать, только перед тем как голосовать и после того как проголосовали, посмотрите на счетчик просмотров и под юзером, и под анонимом. |
||||||||
|
|
|||||||
под анонимом - не пробовал под юзером - ситуация возникает всегда ЗАмечал неоднократно. Причем если "сброс в ноль" виден всегда, то подобных скачкообразных "возвратов" значений не видел И если бы речь шла о 5-7-20-50-100 просмотрах - черт с ними, вполне бы списал на оптимизацию и прочее Что самое интересное, "сбрасываются" значения и 500 просмотров а вот если число просмотров "превышает" цифру "700 и выше" - то "сбрасывается" где-то 300-400 просмотров |
||||||||
|
|
|||||||
понимаете, там в зависисости от времени суток с разными интревалами обновляется значение счетчика просмотров. т.е. обновляется счетчик не в реальном времени. я конечно посмотрю в алгоритме. но просто голосование (и тем более определенное, т.е. именно недоверие) вообще никак со счетчиком просмотров не связано. если несложно попробуйте эту ситуацию воспроизвести и проверить под анонимом и юзером. после этого я начну копать откуда такое может быть |
||||||||
|
|
|||||||
Мне этот баг всопроизвести сложно (невозможно), потому что текущим аккаунтом голосовать права не имею, а одним из предыдущих - не смогу (пароль наглухо забыт, как и ящик на который все регалось) Но, думаю, что Вы можете голсовать за доверие/недоверие )))) Вот отчет, например: http://sextalk.ru/showthreaded.php?Cat=0&Number=718534&an=0&page=0#718534 Проголосуйте "недоверие" - и посмотрите затем сразу на кол-во просмотров Впрочем, на самом деле можно на этот баг и "болт" забить - не думаю что он критичен : ) Цитата: Это как раз понятно (ну еще бы - "дергать" базу при КАЖДОМ открытии морды - никакой сервак не выдержит) : ) Другое дело, что если количество просмотров есть простое увеличение значения, то почему оно может уменьшаться (сбрасываться) ? Я думаю, что так как кол-во просмотров кладется во временную переменную, и затем раз в N минут ханчение этой переменной плюсуется с уже имеющимся в базе, то вероятнее всего дело в обнулении этой переменной "где-то по пути" но - не видя структуры кода - посоветовать что-то со сто процентной вероятностью не могу |
||||||||
|
|
|||||||
Цитата:вот на структуру кода я сейчас очень внимательно посмотрел. промежуточное значение хранится в мемкэше. причем для кол-ва просмотров - отдельный мемкэш. и данные оттуда берутся/изменяются только в 2 случаях: при просмотре поста, и при апдейте значения в БД. а в другхи случаях, в т.ч. при голосовании, даже коннекта именно к этому мемкэшу не происходит (а сброс значения кол-ва просмотров возможен только при изменении значения в мемкэше) |
||||||||
|
|
|||||||
Цитата: вот тут собака не порылась ? Апдейт значения в БД в каких случаях может происходить ? (ибо дело и не в мемкеше может быть) |
||||||||
|
|
|||||||
я сейчас глянул (а то уже запамятовал ) - апдейт значения происходит по ночам, 1 раз в сутки. все значения из мемкэша суммируются со значениями в БД, и кэш обнуляется. больше нигде обращений именно к этому мемкэшу нет (сейчас прошелся поиском по всем скриптам) |