聊天有时未实时更新

有时 Discourse 聊天不会实时更新。我很难重现这个问题,所以如果你觉得难以修复,我也能理解。但有时发生的情况是(尤其是在 5-10 人同时聊天时),聊天会不同步,你仍然可以正常输入和发送消息,但一切都冻结了,除非你重新打开,否则你看不到其他人发送的消息,重新打开似乎会刷新它。

我论坛上几乎所有活跃用户都面临这个问题,我想知道是否有办法解决,但同样,由于这个问题非常随机,我理解如果修复起来很困难。我使用的是 4GB 内存的 Discourse AMD Droplet,这是唯一的问题,其他所有功能(包括主题异步更新)都完全正常。

3 个赞

发生这种情况时,请检查您的浏览器开发者工具。它可能会显示一些请求因 429 错误而失败。如果情况确实如此,请在此处回复。

3 个赞

请在此处发布屏幕截图。

抱歉,这有帮助吗?

您的网站位于 Cloudflare 之后,因此您需要检查:

  • 您是否已将 Cloudflare 模板添加到 app.yml 文件中?Discourse 是否正在获取正确的用户 IP?

  • 您是否通过 Cloudflare 代理提供 MessageBus,据我们上次检查,这是一个糟糕的主意,请参阅 Full site CDN acceleration for Discourse - #26 by Hyan

  • 您的服务器是否资源不足,导致因负载而发送 429?您可以尝试删除额外的插件,看看这是否能解决问题。否则,您可以尝试稍微增加 UNICORN_WORKERS 的数量。

是的,我们已添加它,并在管理员仪表板中获取了正确的 IP。

如果能产生显著差异,我可以移除 Cloudflare,但我很难理解什么是 MessageBus 及其引起的问题。我会更深入地研究该主题。

CPU 始终低于 20%,磁盘使用率几乎未超过 60%。我将尝试增加 unicorn 数量。