Отрицательное количество категорий (минусовое число) после снятия с публикации/удаления

Сегодня я снял с публикации и удалил некоторые темы из категории «Без категории», и теперь на главной странице со списком категорий для этой категории отображается «-11 всего».

Подумав об этом, я заметил, что большинство удалённых тем ранее были сняты с публикации. Интересно, имеет ли это значение — возможно, снятие с публикации и удаление по отдельности вычитают по 1 из подсчёта для каждой темы.

Восстановится ли это автоматически (со временем или при наступлении какого-либо события)?

Или мне нужно что-то сделать, чтобы исправить это?

Спасибо.

(Отредактировано для приведения в порядок.)

1 лайк

Да, это именно проблема. Я могу воспроизвести её на своём тестовом сайте. Скрытие темы из списка удаляет её из статистики тем в категории. Если затем удалить скрытую тему, она снова вычитается из статистики тем категории. Это означает, что скрытие из списка, а затем удаление одной темы засчитывается как удаление двух тем из статистики.

Discourse запускает фоновую задачу CategoryStats один раз в 24 часа. Когда эта задача выполняется, статистика вашей категории должна исправиться. Если у вас есть доступ к rails-консоли вашего сайта и вы не хотите ждать выполнения задачи, вы можете запустить команду вручную:

Category.update_stats

Я протестировал это на своём собственном сайте. Выполнение этой команды устранило проблему.

4 лайка

Спасибо. Я с радостью подожду, но хорошо это знать.

P.S. Теперь я могу подтвердить, что всё исправилось само! :slight_smile:

Здравствуйте, Джонатан,

Мы больше не можем воспроизвести эту проблему. Всё ещё наблюдаете её в последней версии?

У меня установлена версия 2.7.0.beta2 (afbaedef7d) — не самая последняя, так что, возможно, это имеет значение.

Оказывается, чтобы воспроизвести проблему, нужно скрыть тему из списка, подождать примерно 24 часа, пока не выполнится задача по обновлению статистики категории, а затем удалить тему. Из-за этого тема будет удалена из статистики категории дважды. Ещё через 24 часа задача по обновлению статистики категории выполнится снова, и проблема должна быть решена.

Причина этого в том, что удаление темы немедленно убирает её из статистики категории. Скрытие темы из списка не приводит к её удалению из статистики до тех пор, пока не будет выполнена ежедневная задача по обновлению статистики категории — эта задача проверяет только видимые темы.

4 лайка

Здравствуйте,

Мы выявили проблему и только что отправили исправление на проверку. Оно скоро будет доступно в последней версии.

2 лайка

Это отлично. Думаю, это не вызвало особых проблем. Возможно, это заметно только на небольших/новых форумах.

Я бы изменил «Решение» на финальный пост здесь, но система не позволяет мне этого сделать.

1 лайк