Форум тормозит после перезагрузки и обновления из панели администратора — как ускорить?

Обновление не удалось завершить, и форум стал недоступен. Мы использовали codex для исправления проблемы с обновлением, и всё снова заработало.

Размещено на Digital Ocean

Странно, что лаги наблюдаются только в моей панели администратора.

Результаты:

  • Плагин discourse-question-answer устарел в репозитории. Ваша версия датируется 2022-08-17.

  • Работа сайта не была нарушена из-за этого. После восстановления успешно отдавались файлы categories.json, latest.json и главная страница.

  • Фактическая проблема была более узкой: во время пересборки/загрузки инициализация категорий чата один раз вызывала хук 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.

Проверка:

Один нюанс:

  • Я не запускал полную пересборку после добавления постоянного хука, так как работающее приложение исправно, а эквивалентный патч уже успешно применён в работающем контейнере. Следующая

    пересборка должна сохранить изменения, но этот конкретный путь ещё не был выполнен повторно.

Если хотите, я могу провести дополнительную проверку, стоит ли в будущем форкнуть этот плагин и зафиксировать его версию, вместо прямого клонирования из заброшенного репозитория.

Этот плагин устарел, его нужно удалить.