Я использую приложение rails 4 на Bluemix, прикрепляя файлы с помощью paperclip gem. Как мы все знаем, Paperclip сохраняет ссылку на этот файл в фактическом db, сохраняя физический файл в /public
.Как сохранить файлы Bluemix между перезагрузками приложений
Я подаю файл в эту БД, которая становится сохраненной здесь
/home/vcap/app/public/files/submissions/files/140/original/Successful_Submission.pdf
, а затем файл поиск работает прекрасно. Как только я перезапущу свое приложение, я получаю:
Errno::ENOENT (No such file or directory @ rb_file_s_lstat - /home/vcap/app/public/files/submissions/files/140/original/Successful_Submission.pdf):
И это потому, что Bluemix не сохраняет эту информацию. Как я могу получить эти файлы между перезагрузками приложений?
Спасибо за ваш комментарий @alex. К сожалению, так работает мой драгоценный камень, и нет никаких настроек, которые я могу создать, чтобы сохранить файл в фактической базе данных, вместо того, чтобы сохранять его в файловой системе. У меня будет несколько резервных копий, отправив файл в папку с папкой в одно и то же время, но нет ли возможности кэшировать информацию из файловой системы в Bluemix? –
нет опции кэширования в файловой системе Bluemix. Все, что было создано во время выполнения в файловой системе, будет потеряно при перезапуске приложения. –
@ VladBalanescu - Один хакерский метод, который я использовал для некоторых проектов, - использовать поддержку SSHFS (fusemount) в приложении Bluemix CF для сопоставления с экземпляром IBM Container (Docker) с поддержкой ssh, который использует постоянный том. В зависимости от размера файлов он может работать нормально. Вы можете получить смысл для подхода [здесь] (https://github.com/joshisa/drupalstart/blob/master/bluezone/configtweaks/.profile.d/fusemount.sh) и [здесь] (https: // github.com/joshisa/drupalstart/blob/master/README.md#sshfs-persisted-storage-optional) –