Обновление сортировки Трендов на Капибаре
Для ЛЛ: Починили Тренды, пофиксили баги, но ещё несколько дней ранее созданные трендовые посты могут "врываться" вверх ленты.

Теперь подробнее:
Неоднократно поступали баг-репорты о том, что новые Трендовые посты бросает в середину или конец ленты. Для решения этой проблемы мы поменяли порядок сортировки постов (расширили множественную сортировку), чтобы посты, только что вышедшие в Тренды, оказывались вверху ленты.
Пример:
Vanok опубликовали пост в 18:15
BlessomL опубликовала пост в 18:20
Пост автора Vanok набрал нужное для Трендов количество рейтинга в 19:00
Пост BlessomL набрал нужное для Трендов количество рейтинга в 18:50
Техническая реализация:
До этого обновления мы не хранили время и дату выхода поста в Тренды. Сейчас добавили это поле и для всех ранее созданных постов проставили туда время/дату публикации(для новых постов там пусто). В реальности ситуация когда время публикации поста совпадает с временем выхода в Тренды(с точностью до секунды) невозможно.
На данный момент(после обновления) сортировка ленты Тренды производится методом множественной сортировки (от самого важного к менее важному):
- По времени выхода в Тренды(появилось в этом обновлении).
- Дате публикации поста(было)
- По количеству положительных оценок(было)
- Рейтингу поста(было)
На каждой оценке проверяется - она переходная или нет. Как только выполняется условие что это оценка является выводящей пост в Тренды и поле "дата выхода в Тренды" пустое или равняется дате публикации - в бд записывается время выхода в Тренды.
Вопрос: Зачем проставлять значением по-умолчанию дату публикации для старых постов?
Ответ: Потому что Null(None, пусто) считается в сортировке меньше чем любая дата и вы бы увидели тогда в Тренда все существующие трендовые посты с начала альфы.
Вопрос: зачем условие проверки на неравенство дате публикации?
Ответ: чтоб посты которые на момент обновления находятся в Новом и в Тренды ещё не пришли получили правильную дату
Вопрос: что за бага описанная в первом блоке?
Ответ: если вы сейчас поставите оценку например незаслуженно забытому трендовому посту - он появится вверху ленты Тренды, потому что обновилась его дата выхода в Тренды.
P.S.: если есть опытный дата-аналитик готовый помочь в выковыривании переходного голоса чтоб правильно проставить дату перехода в тренды старым постам - вэлькам



Комментарии