#heroku #delayed-job
#heroku #отложенное задание
Вопрос:
По запросу администратора мой Heroku worker генерирует отчет, сжатый в виде ZIP-файла размером ~ 10 МБ.
Генерация занимает около одной минуты, поэтому она выполняется delayed_job
.
После завершения генерации, где сохранить файл, чтобы веб-dyno мог его обслуживать?
tmp
Похоже, папка не одинакова от одного dyno к другому.- Свободная база данных (5 МБ) недостаточно велика, чтобы содержать файл размером 10 МБ
Нет ли другого варианта, кроме сохранения файла в базе данных и оплаты за переход с базы данных размером 5 МБ на 20 ГБ?
Примечание: существует только один администратор, и генерация отчета является редким событием.
Ответ №1:
Как насчет того, чтобы просто загрузить файл на Amazon S3 и получить к нему доступ оттуда?
Комментарии:
1. Отличная идея! Похоже, Heroku действительно не предназначен для хранения файлов.
2. нет, если вы думаете о Heroku как о файловой системе, доступной только для чтения, то у вас все получится. Хотя некоторые области различных стеков доступны для записи (например, tmp), НИ одна из них не сохраняется на динамических процессорах или перезапускается.