为什么统计数据不实时更新?

您好,我们正在围绕 Discourse API 构建一个前端,并且遇到了一些奇怪的行为,即在几个地方统计数据没有实时更新。

  • 首先,在获取 /directory_items.json?period=all&order=likes_given 时,我们注意到如果用户点赞几次,统计数据不会立即更新,而是需要过一段时间。
  • 我们注意到的另一个地方是,在获取用户摘要统计数据时,通过获取 /u/<user>/summary.json,似乎统计数据没有正确更新,或者至少不是实时更新的。

我们使用 Bitnami Docker 镜像来运行 Discourse,我们不确定这个问题是否与这个特定的镜像有关,或者这是 Discourse API 本身的预期行为。

Docker 镜像使用一种叫做 Sidekiq 的东西,我们认为这可能是问题的根源。我们尝试运行我们认为正确的任务(Jobs::DashboardStats)来更新统计数据,但没有成功。即使在触发计划任务后,统计数据也没有更新。是否有其他与此相关的任务,或者我们没有找对地方?

此致,
Manolo

所有好的平台都会区分绝对需要保持最新以及可以稍后处理以节省资源的事物。

目录项似乎每小时更新一次。这意味着向每个用户显示相同的结果比每次用户尝试访问时都进行计算要便宜得多。

源代码是你的朋友:

是的,你或许可以通过一个简单的插件来增加更新频率,但要注意其可能带来的资源和性能影响。

4 个赞

你说得对,这正是我们认为问题所在的地方。我没想到会在源代码中找到它,所以忘了检查,不过这完全说得通!

感谢您的快速答复!

1 个赞

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.