Post_created 数据与实际帖子不匹配

Ask Discourse 给出了以下解释。我知道有重新生成用户摘要的方法。虽然我不太喜欢直接复制粘贴 Ask Discourse 的内容,但既然你想要答案……

重新计算用户活动和摘要 AI

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 计划作业每天执行

让我也检查是否有相关的站点设置或管理面板选项。让我搜索与此相关的站点设置。

搜索站点设置
找到 ‘recalculate,summary,activity,stats’ 的 51 个结果

让我搜索可能相关的特定主题——关于如何在未自动触发更新的操作后更新用户摘要和活动。让我查看“为什么统计不会实时更新?”主题和“重建用户操作”主题。

阅读中
已阅读:重建用户操作

现在我有了足够的信息来提供一个全面的回答。让我也查看 top_topics 的站点设置,并搜索“recalculate”站点设置如何用于管理仪表盘目的。但我认为我已经收集了足够的信息来回答。

根据我的研究:

  1. 自动重新计算:用户活动统计和摘要通过计划的 Sidekiq 作业每天自动重新计算一次。你可以在 /sidekiq/scheduler 中找到这些作业,搜索“stats”。

  2. 手动重新计算(需要 SSH 访问 - 仅限自托管):

    • rake users:recalculate_post_counts - 用于修复不同步的用户帖子/主题计数
    • rake destroy:stats - 用于重置站点统计(管理面板统计),以便它们重新计算
    • rails 控制台中的 UserStat.update_stats - 用于单个用户统计
    • import:ensure_consistency - 用于导入后的问题
  3. 对于托管客户:他们需要联系 support@discourse.org 来运行这些 rake 任务,或者简单地等待每日自动重新计算。

让我制定回复。

Discourse 中的用户活动统计和摘要每天自动重新计算一次,通过计划的 Sidekiq 作业完成。你可以通过访问 /sidekiq/scheduler(自托管)并搜索“stats”来验证这些作业是否已运行——你会看到像 Jobs::DashboardStats、Jobs::AboutStats 和 Jobs::CategoryStats 这样的作业。

如果统计数据显示不同步,你需要触发手动重新计算:

自托管(需要 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,他们可以为你运行这些任务。


注意:“活动摘要”邮件(摘要)是在发送时根据用户的最后访问时间新生成的,因此不需要单独的重新计算。如果用户没有收到该邮件,请参阅配置活动摘要邮件以获取故障排除步骤。

来源: