Страницы

Поиск по вопросам

воскресенье, 8 марта 2020 г.

Изображения пропадают с Heroku

#ruby_on_rails #ruby #heroku


Пользуюсь Paperclip. В девелопменте все ок, но на Хероку добавляю изображения к постам,
сначала все нормально - все грузит и показывает, но через какое-то время все изображения
пропадают - на их месте только названия файлов. В чем может быть проблема?

Heroku logs выдает что то про неполадки с путями:

2016-05-13T14:38:05.031223+00:00 heroku[router]: at=info method=GET path="/system/posts/images/000/000/007/medium/app-server-arena2.png?1463131430"
host=arcane-taiga-31170.herokuapp.com request_id=21181509-0382-494c-b4d8-fc0837464c99
fwd="92.100.233.26" dyno=web.1 connect=0ms service=4ms status=404 bytes=1789
2016-05-13T14:38:05.029499+00:00 app[web.1]: ActionController::RoutingError (No route
matches [GET] "/system/posts/images/000/000/007/medium/app-server-arena2.png"):
2016-05-13T14:38:05.027456+00:00 app[web.1]: Started GET "/system/posts/images/000/000/007/medium/app-server-arena2.png?1463131430"
for 92.100.233.26 at 2016-05-13 14:38:05 +0000

    


Ответы

Ответ 1



Да, Heroku так работает. Локальный диск у него "эфемерный" и может быть пересоздан из образа в любой момент. А именно, когда приложение "засыпает", его диск уничтожается, а когда " будят", создаётся новый, отдельный на каждую машинку (dyno). Поэтому на диск ничего, что предназначено для длительного хранения, сохранять нельзя. Нужно использовать внешнее хранилище. Можно сохранять прямо в БД (они не для этого предназначены, но в теории это реально), а можно подключить внешнюю службу хранения с доступом по HTTP вроде Amazon Simple Storage Service (S3), а можно придумать/найти что-то ещё.

Комментариев нет:

Отправить комментарий