Я использую Paperclip (2.3) для обработки загрузок изображений в приложении Rails 3.0.3, работающем на Ubuntu. Paperclip обрабатывает загрузки как рекламируемые, но файлы RackMultipart *, созданные в папке/tmp приложения, сохраняются, то есть просто накапливаются, а не удаляются. Я понимаю, что я могу использовать tmpreaper для удаления старых tmpfiles, но мне очень хотелось бы найти более элегантное (и масштабируемое) решение.Почему файлы RackMultipart * сохраняются в моем каталоге Rails/tmp?
У меня была предыдущая проблема с временными файлами (то есть файлами RackMultipart *), накапливающимися в корневом каталоге приложения Rails (а не в/tmp). Я решил это, явно указав путь временный файл в моем environment.rb так:
ENV['TMPDIR'] = Rails.root.join('tmp')
Есть еще одна переменная среды, которая должна быть установлена, чтобы убедиться, что TempFiles обрабатываются должным образом - то есть, когда они удаляются мы были сохранены в модели? Я не уверен, что это проблема с установкой Paperclip или моей Rails.
Я искал высоко и низко, но на этом ничего не добился. Я был бы признателен за любые выводы.
Искренние благодарения.
PS - В настоящее время я использую S3 для хранения. Это, похоже, не связано с проблемой, хотя у меня была такая же проблема, когда я хранили файлы локально.
Сейчас я обработка вопроса TempFile используя хроны и tmpreaper. CRON запускает tmpreaper каждые 10 минут, чтобы очистить каталог tmp. По-прежнему хотелось бы более элегантное решение, но сейчас это работает. – NAD
Какой сервер вы используете? Возможно, Пума? –
Соответствующая тема в группе Rack devel: https://groups.google.com/forum/#!searchin/rack-devel/temp/rack-devel/brK8eh-MByw/sw61oJJCGRMJ –