论坛在重启并从管理面板升级后卡顿——如何提速?

升级中途失败,论坛离线。我们使用 Codex 修复了升级问题,论坛现已恢复。

托管于 Digital Ocean

不知为何,仅在我的管理面板中感觉卡顿。

发现:

  • discourse-question-answer 插件上游版本已过时。您正在运行的副本来自 2022-08-17。

  • 站点未能正常运行并非由此导致。恢复后,categories.json、latest.json 以及根路径(/)均正常提供服务。

  • 实际问题更为具体:在重建/引导过程中,Chat 插件的一次性分类初始化触发了插件的 BasicCategorySerializer 钩子,而该钩子过于激进地调用了 object.send(key)。

    这导致重建日志中出现错误:Error seeding chat category - #<NoMethodError: undefined method ‘qa_enabled’ for an instance of Category>。

我所做的修改:

  • 修补了正在运行的插件序列化器,改用安全回退机制,而非盲目调用 send。

  • 将相同的兼容性补丁添加到 /var/discourse/containers/app.yml,以便未来重建时自动重新应用。

  • 保留了备份文件:/var/discourse/containers/app.yml.bak-2026-04-08 和 /var/discourse/containers/app.yml.bak-2026-04-08-qa。

验证结果:

一个注意事项:

  • 在添加持久化钩子后,我未再次执行完整重建,因为当前运行中的应用程序状态健康,且等效补丁已在运行中的容器内成功应用。下一次

    重建应能保留该补丁,但确切的执行路径尚未重新运行。

如果您需要,我可以进一步评估是否应将该插件进行分支并固定版本,而不是直接从已废弃的上游仓库克隆。

该插件已弃用,您需要将其移除。