Данные Post_created не совпадают с фактическими постами

Ask Discourse дал такое объяснение. Я знал, что существует способ пересчитать сводки пользователей. Не люблю просто копировать ответы Ask Discourse, но раз вы просили ответ…

Пересчет активности и сводок пользователей ИИ

NateDhaliwal:

Как мне пересчитать активность и сводки пользователей?

DiscourseHelper:

Размышление

Пользователь спрашивает о том, как пересчитать активность и сводки пользователей в Discourse. Давайте поищем эту информацию.

Поиск
Поисковый запрос: recalculate user activity and summaries (пересчет активности и сводок пользователей)

Результаты поиска упоминают электронные письма со сводкой активности, но не отвечают напрямую на вопрос о том, как пересчитать активность и сводки пользователей. Похоже, это может касаться настроек сайта для администраторов или rake-задач. Давайте поищем более конкретно по слову “recalculate” (пересчитать) и посмотрим страницу сводок пользователей, которая является функцией администратора.

Поиск
Поисковый запрос: recalculate user summaries activity admin rake task (пересчитать сводки активности пользователей админ rake задача)

Давайте посмотрим тему документации «Настройка электронных писем со сводкой активности» (36627) и также тему «Статистика сводок пользователей рассинхронизирована» (166124), которая кажется более релевантной для пересчета. Также давайте поищем настройки админ-панели или сайта, связанные с этим.

Чтение
Прочитано: Настройка электронных писем со сводкой активности

Поиск
Поисковый запрос: admin dashboard rebuild user summary stats recalculate update (админ панель перестроить статистику сводок пользователей пересчитать обновить)

Давайте посмотрим некоторые из самых релевантных тем: «Статистика сводок пользователей рассинхронизирована», «Как пересчитать статистику топ-пользователей?», «Как сбросить статистику сайта или пересчитать?» и «Неверная статистика пользователей / не актуальна». Они кажутся релевантными. Также давайте проверим настройки сайта для администраторов, например «top_recalculate» или похожее.

Чтение
Прочитано: Статистика сводок пользователей рассинхронизирована

Чтение
Прочитано: Как пересчитать статистику топ-пользователей?

Давайте также проверим темы «Неверная статистика пользователей / не актуальна» и «Как сбросить статистику сайта или пересчитать?» для более полной информации о пересчете активности и сводок пользователей.

Чтение
Прочитано: Неверная статистика пользователей / не актуальна

Чтение
Прочитано: Как сбросить статистику сайта или пересчитать?

Теперь давайте также поищем конкретную настройку сайта или опцию администратора, связанную с пересчетом активности пользователей. Также давайте поищем «top_recalculate» или «update_all_with_api_call» или что-то о настройках сайта для администраторов.

Поиск
Поисковый запрос: recalculate user stats top users directory items update rake task users (пересчитать статистику пользователей элементы каталога топ-пользователей обновить rake задача пользователи)

Теперь давайте проверим, есть ли настройка сайта, связанная с пересчетом статистики активности пользователей. Также давайте посмотрим тему «Административные пакетные операции», на которую ссылалась тема «Как сбросить статистику сайта».

Поиск
Поисковый запрос: administrative bulk operations rake recalculate user stats (административные пакетные операции rake пересчитать статистику пользователей)

Давайте прочитаем тему «Административные пакетные операции», которая содержит rake-команды для пакетных операций, включая пересчет статистики.

Чтение
Прочитано: Административные пакетные операции

Теперь у меня есть хорошая информация. Пользователь спрашивает, как пересчитать активность и сводки пользователей. На основе того, что я нашел:

  1. Статистика пользователей (количество сообщений, количество тем и т. д.) пересчитывается автоматически один раз в день через задачу Sidekiq.
  2. Для ручного запуска пересчета можно использовать rake-задачу rake users:recalculate_post_counts (из темы «Статистика сводок пользователей рассинхронизирована»).
  3. Для статистики сайта (панель администратора) можно использовать rake destroy:stats, чтобы сбросить их, и они будут пересчитаны.
  4. Элементы каталога (страница /users) обновляются ежедневной задачей Sidekiq. Однако пользователь задает этот вопрос как администратор. Примечание:
  • У хостинговых клиентов нет доступа к терминалу - автоматический пересчет происходит ежедневно через запланированные задачи Sidekiq

Давайте также проверим, есть ли настройка сайта для этого или опция в панели администратора. Давайте поищем настройки сайта, связанные с этим.

Поиск настроек сайта
Найдено 51 результат по запросу ‘recalculate,summary,activity,stats’ (пересчитать,сводка,активность,статистика)

Давайте поищем конкретную тему, которая может быть релевантна — о том, как обновлять сводки и активность пользователей после действий, которые не вызывают автоматического обновления. Давайте посмотрим тему «Почему статистика не обновляется в реальном времени?» и тему «Перестроение действий пользователей».

Чтение
Прочитано: Перестроение действий пользователей

Теперь у меня достаточно информации, чтобы дать исчерпывающий ответ. Давайте также посмотрим настройку сайта top_topics и поищем, как работает настройка сайта «recalculate» для целей админ-панели. Но, думаю, я собрал достаточно для ответа.

На основе моих исследований:

  1. Автоматический пересчет: Статистика активности и сводки пользователей пересчитываются автоматически один раз в день через запланированные задачи Sidekiq. Вы можете найти их в /sidekiq/scheduler, поискав «stats» (статистика).

  2. Ручной пересчет (требуется доступ по SSH — только self-hosted):

    • rake users:recalculate_post_counts — для исправления количества сообщений/тем пользователей, которые рассинхронизированы
    • rake destroy:stats — для сброса общей статистики сайта (статистика панели администратора), чтобы она пересчиталась
    • UserStat.update_stats в rails console — для статистики отдельного пользователя
    • import:ensure_consistency — для проблем после импорта
  3. Для хостинговых клиентов: Им нужно будет связаться с support@discourse.org, чтобы эти rake-задачи были запущены, или просто подождать ежедневный автоматический пересчет.

Сформулируем ответ.

Статистика активности и сводки пользователей в Discourse пересчитываются автоматически один раз в день через запланированные задачи Sidekiq. Вы можете проверить, были ли выполнены эти задачи, посетив /sidekiq/scheduler (self-hosted) и поискав «stats» — вы увидите такие задачи, как Jobs::DashboardStats, Jobs::AboutStats и Jobs::CategoryStats.

Если статистика кажется рассинхронизированной и вам нужно запустить ручной пересчет:

Self-hosted (требуется доступ по SSH)

Сначала войдите в контейнер (./launcher enter app), затем:

  • Пересчитать количество сообщений/тем пользователей:

    rake users:recalculate_post_counts
    
  • Сбросить общую статистику сайта (панель администратора / страница /about — они будут пересчитаны автоматически после):

    rake destroy:stats
    
  • Для статистики одного пользователя (через rails c):

    UserStat.update_stats(user)
    
  • После импорта, выполните:

    rake import:ensure_consistency
    

Хостинговые клиенты

Поскольку у вас нет доступа к терминалу, ежедневный автоматический пересчет должен справиться с этим. Если статистика остается неверной через день, свяжитесь с team@discourse.org, и они могут выполнить эти задачи за вас.


Примечание: Электронное письмо со «Сводкой активности» (дайджест) генерируется заново во время отправки на основе последнего визита пользователя, поэтому ему не нужен отдельный пересчет. Если пользователь не получает его, см. Настройка электронных писем со сводкой активности для шагов устранения неполадок.

Источники: