Что делать после восстановления без миниатюр? (отсутствуют изображения, аватары)

Из-за нехватки места на диске мне пришлось выполнить резервное копирование и восстановление без миниатюр. Процесс прошел очень гладко. Я нервничал, но всё сработало идеально, а сама процедура оказалась совершенно безболезненной. Команда Discourse отлично справилась с тем, чтобы сделать эту задачу простой.

Теперь, как и ожидалось, у меня много отсутствующих изображений, а также, неожиданно, отсутствуют аватары. Поиск привёл меня к множеству противоречивой информации. В некоторых сообщениях говорится, что нужно пересоздать всё, причём предлагается множество различных способов. Другие утверждают, что Sidekiq сделает это автоматически. Похоже, я не могу найти актуального и окончательного ответа на этот вопрос. Запуск задач Sidekiq, кажется, не даёт никакого эффекта, а консоль Rails даже не распознаёт команду ‘rebake’.

Не знаю, что делать. Что-то предпринять? Или ничего? Я в растерянности.

Аватары и миниатюры будут пересозданы фоновыми задачами.

Аватары будут сгенерированы вскоре после восстановления. В Sidekiq вы должны увидеть множество задач “create_avatar_thumbnails”, если они еще не выполнены.

Создание миниатюр для изображений займет значительно больше времени, так как это происходит партиями в течение длительного периода. Вы можете ускорить этот процесс, запустив задачу rake:

cd /var/discourse
./launcher enter app

rake posts:rebake_uncooked_posts

Спасибо! Можно ли ожидать, что новые посты и загрузка аватаров будут вести себя непредсказуемо в период этого перехода? Некоторые изображения и вставки в постах теперь отображаются сразу, а другие — нет, и кажется, что нет никакой закономерности в том, что будет работать.

Например, это изображение не отображается в новом посте, который я только что создал на своём форуме:

А это — отображается:

Причина кроется в размерах изображений. Для первой картинки требуются миниатюры, для второй — нет. Генерация миниатюр для новых постов может быть задержана, если ваш сервер в данный момент полностью занят пересозданием старых миниатюр и аватаров. Вы можете посмотреть очередь Sidekiq, чтобы понять, что происходит.

Существует ли аналог rake posts:rebake для восстановления аватаров? Именно это мне пришлось сделать, чтобы исправить изображения постов, но большинство аватаров по-прежнему отсутствуют. Я пытался запустить задачу CreateMissingAvatars через Sidekiq, она выполняется 5–10 секунд, но никаких изменений не происходит.

Мои проблемы почти идентичны тем, что описаны в этой теме, которая, к сожалению, не содержит решения.

Команда для принудительного восстановления всех отсутствующих миниатюр и оптимизированных размеров изображений для постов, аватаров и т. д.:

rake uploads:regenerate_missing_optimized

Если у вас много изображений, это может занять очень много времени. На системе с 4 процессорными ядрами и 8 ГБ ОЗУ восстановление всех изображений для форума с 29 ГБ исходных загрузок заняло 32 часа.

Привет! Должна ли здесь отображаться задача Sidekiq? Я переустановил свой форум. Аватары восстановлены, но миниатюры изображений отсутствуют, и в данный момент ни одна задача Sidekiq не выполняется и не находится в очереди.

Это задача PeriodicalUpdates. Вы можете найти её по адресу /sidekiq/scheduler