Скачать удаленные изображения из старых постов?

Привет.

Я некоторое время назад импортировал форум phpbb.
Кажется, я не включил опцию загрузки удалённых изображений во время импорта, так как в старых постах есть встроенные изображения с внешними ссылками.

Хочу загрузить все эти изображения из старых постов.

Есть ли команда для этого? Мне нужно обработать около 150 000 постов.

Есть какие-нибудь советы здесь, @vinothkannans или @gerhard?

  • Включите настройку сайта «download remote images to local».
  • Установите значение настройки сайта «download remote images max days old» равным 3650 (для 10 лет).
  • Увеличьте значение настройки сайта «rebake old posts count» до «300». Чтобы увеличить его более чем до 300, вам также потребуется настроить глобальный лимитер скорости «max_old_rebakes_per_15_minutes».
  • Установите значение «baked_version» для старых постов в «NULL» в консоли Rails.
    ./launcher enter app
    rails c
    > Post.update_all(baked_version: nil)   # или Post.created_since(N.days.ago).update_all(baked_version: nil)
    

Теперь все удаленные изображения в старых постах будут автоматически загружаться со скоростью 300 постов за 15 минут.

Короткий вопрос: зачем необходимо делать это:

Post.update_all(baked_version: nil)

Если я установил максимальный возраст загружаемых удалённых изображений в 20 лет?

Это запустит медленную пересборку всех постов, так как система обнаружит необходимость пересобрать посты в новую версию.

Но я видел пост от 2010 года, который содержал удалённое изображение. Я не менял ничего, кроме настройки максимальный возраст для загрузки удалённых изображений, и через несколько минут удалённое изображение было автоматически загружено.


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

edit: за ночь автоматически загрузились и другие старые изображения, что приятно, но тогда я точно не понимаю, что означает часть update_all(baked_version: nil).

Привет,
Я применил этот скрипт, но не уверен, окажет ли он серьезное влияние на производительность и серверную комнату.