Делюсь этим на случай, если это поможет кому-то ещё, кто видит «Обновление» в панели администратора, хотя на самом деле обновление не идёт, а форум при этом выглядит исправным.
Хотя это никогда не влияло на обновления через Docker Manager, в последних нескольких версиях мне приходилось выполнять обновления через CLI, так как панель администратора постоянно показывала, что Discourse обновляется.
Мой форум небольшой, без пользовательских плагинов.
Решением для устранения проблемы стала очистка кэша Redis.
Хотя я не могу раскрыть первопричину, было крайне неприятно упереться в предел своих знаний и понимания процесса обновления Discourse (это не жалоба, а признание).
До этого момента пересборка приложения всегда была надёжным решением практически для любой проблемы.
Redis также хранит пользовательские сессии и многое другое. Полная очистка Redis приведёт к выходу всех пользователей из системы и удалению всех ожидающих заданий Sidekiq. Запланированные задания вернутся только после следующего перезапуска.
Это должно быть крайней мерой, и даже в этом случае я рекомендую определить, какие именно ключи являются причиной проблемы, вместо выполнения команды flushall. Это всё равно что поджечь целое здание, чтобы избавиться от мыши.
Можно ли вместо этого перезапустить Redis? Я полагаю, что это база данных в оперативной памяти, поэтому при перезагрузке сервера ничего не сохранится. А перезагрузка сервера не является разрушительной (и может произойти в любой момент).
Обновление через панель администратора (не удалось/не началось)
Следовал инструкциям по ручному обновлению Discourse (за последние 3 выпуска)
Выполнял несколько пересборок приложения-лаунчера.
Искал на форуме похожие проблемы и решения.
В итоге обратился к ChatGPT, который выявил варианты настройки Redis, хотя сам ChatGPT назвал это маловероятным решением (и предложил те же шаги, которые я уже пробовал).
Именно это действие помогло решить проблему.
Я понимаю эту аналогию.
Что ещё я мог бы сделать, чтобы лучше понять и решить проблему альтернативным способом?
Спасибо — значит, проблема в том, что обновление панели администратора не работает у вас. Кстати, у меня оно тоже не работает уже какое-то время! Было бы лучше, если бы оно работало.
Я предпочитаю обновление через командную строку, но на этот раз я обновил Docker и Discourse через интерфейс на iPhone 15, и всё прошло довольно гладко (стандартная установка на DO).
Обычно я делаю всё через CLI на одном из своих компьютеров, так как в прошлый раз, когда я пробовал через интерфейс (несколько месяцев назад), у меня не получилось, и всё равно пришлось подключаться по SSH.