6

в моем проекте RoR Я использую CarrierWave + MiniMagick и развернут в Heroku для производства.Heroku, CarrierWave, MiniMagick: случайный файл tmp отсутствует

У меня возникла эта проблема в производстве, когда иногда отсутствует файл tmp для обработки изображений. Я получаю эту ошибку:

Errno::ENOENT: No such file or directory - /tmp/mini_magick20130319-2-3wq6l6.jpg

У меня есть другие классы XUploader, что работает, но это частность, один из двух процессов изображения. Изначально у меня было два отдельных процесса для этого:

process :resizer 
    def resizer 
    resize_to_fit(model.jrac_image_width, model.jrac_image_height) 
    end 

    process :cropper 
    def cropper 
    manipulate! do |img| 
     img.crop("442x190+#{model.jrac_crop_x}+#{model.jrac_crop_y}") 
     img 
    end 
    end 

но сказал, что я имел ошибку на :cropper говоря файл TMP не существует. Я пытался изменить код на это, мы надеемся, он будет работать только на него один раз:

process :resize_and_crop 
    def resize_and_crop 
    manipulate! do |img| 
     img.resize("#{model.jrac_image_width}x#{model.jrac_image_height}") # resize_to_fit 
     img.crop("442x190+#{model.jrac_crop_x}+#{model.jrac_crop_y}") # cropper 
     img 
    end 
    end 

но, к сожалению, до сих пор испытывают одни и те же ошибки.

Кто-нибудь знает, где проблема? Я не знаю, если это с Heroku или CarrierWave или ImageMagick?

Редактировать

У меня есть этот код на моем Uploader классе

def cache_dir 
    "#{Rails.root}/tmp/uploads" 
    end 

, как для этого document.

ответ

0

heroku время от времени будет опорожнять tmp, обычно мы используем s3 или другое облачное хранилище для хранения обработанной версии. Вы можете обратиться к https://github.com/jnicklas/carrierwave и https://github.com/jnicklas/carrierwave/wiki/How-to%3A-Make-Carrierwave-work-on-Heroku

Они подробно прохождение игры по использованию carrierwave в Heroku я пробовал раньше, и это работает

+0

Ах да жаль. У меня это есть в моем классе «Uploader»: 'def cache_dir; "# {Rails.root}/TMP/загрузки"; end' – index

Смежные вопросы