Из-за нехватки места на диске мне пришлось выполнить резервное копирование и восстановление без миниатюр. Процесс прошел очень гладко. Я нервничал, но всё сработало идеально, а сама процедура оказалась совершенно безболезненной. Команда 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 не выполняется и не находится в очереди.