Ошибка при миграции в S3

Миграция загрузок в S3 для ‘default’…
Загрузка файлов в S3…

  • Список локальных файлов
    find: ‘uploads/default/original’: No such file or directory
    => 0 файлов
  • Список файлов в S3
    … => 81070 файлов
  • Синхронизация файлов с S3

Обновление URL в базе данных…
Удаление старых оптимизированных изображений…
Пометка всех сообщений, содержащих лайтбоксы, для пересборки…
54453 сообщения помечены для пересборки
rake aborted!
FileStore::ToS3MigrationError: 53 сообщения не переназначены на новый URL загрузки S3. Миграция в S3 не удалась для БД ‘default’.
/var/www/discourse/lib/file_store/to_s3_migration.rb:132:in raise_or_log' /var/www/discourse/lib/file_store/to_s3_migration.rb:87:in migration_successful?’
/var/www/discourse/lib/file_store/to_s3_migration.rb:373:in migrate_to_s3' /var/www/discourse/lib/file_store/to_s3_migration.rb:66:in migrate’
/var/www/discourse/lib/tasks/uploads.rake:123:in migrate_to_s3' /var/www/discourse/lib/tasks/uploads.rake:102:in block in migrate_to_s3_all_sites’
/var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rails_multisite-4.0.0/lib/rails_multisite/connection_management.rb:80:in with_connection' /var/www/discourse/vendor/bundle/ruby/2.7.0/gems/rails_multisite-4.0.0/lib/rails_multisite/connection_management.rb:90:in each_connection’
/var/www/discourse/lib/tasks/uploads.rake:100:in migrate_to_s3_all_sites' /var/www/discourse/lib/tasks/uploads.rake:96:in block in ’
/usr/local/bin/bundle:25:in load' /usr/local/bin/bundle:25:in
Задачи: TOP => uploads:migrate_to_s3
(Полный трассировочный вывод можно получить, запустив задачу с флагом --trace)

Да, вы, возможно, уже видели обсуждение здесь:

Да, я только что прочитал эту тему. Я не использую тома, поэтому я установил discourse cdn url = “”, но ошибка всё ещё сохраняется.
Я не могу найти, как изменить to_s3_migration.rb, как предложил @Falco.

Судя по сообщению об ошибке из вашего предыдущего поста, интерес представляет счётчик на строке 85. Предложение @Falco по редактированию скрипта заключается в увеличении этого счётчика, чтобы игнорировать определённое количество сбоев.

Самый простой способ сделать это — войти в контейнер и использовать утилиту sed для замены непосредственно в указанной строке.

cd /var/discourse
./launcher enter app
sed -i '85s/0/100/' lib/file_store/to_s3_migration.rb

После этого снова запустите задачу rake, и она будет игнорировать до 100 ошибок вида «post not remapped to new S3 upload URL». Изменение исчезнет при следующей пересборке.

Что касается сообщения об ошибке в исходном посте, то интерес представляет строка 77, как указал @Falco. Просто замените номер строки в команде sed:

sed -i '77s/0/100/' lib/file_store/to_s3_migration.rb

Вы всегда можете связаться с vim, установив его с помощью команды apt install vim внутри образа.

ГОТОВО! ВОЗДУШНО! СПАСИБО!!