Tôi đang sử dụng Paperclip (2.3) để xử lý tải hình ảnh lên ứng dụng Rails 3.0.3 chạy trên Ubuntu. Paperclip đang xử lý tải lên như được quảng cáo NHƯNG các tệp RackMultipart * được tạo trong thư mục/tmp của ứng dụng vẫn tồn tại - nghĩa là chúng chỉ tích lũy thay vì xóa chính chúng. Tôi nhận ra rằng tôi có thể sử dụng tmpreaper để xóa tmpfiles cũ nhưng tôi thực sự muốn tìm một giải pháp thanh lịch hơn (và khả năng mở rộng).Tại sao các tệp RackMultipart * vẫn tồn tại trong thư mục Rails/tmp của tôi?
Tôi gặp sự cố trước đó với các tệp tạm thời (ví dụ: tệp RackMultipart *) tích lũy trong thư mục gốc của ứng dụng Rails (thay vì trong/tmp). Tôi giải quyết này bằng cách thiết lập một cách rõ ràng con đường tạm thời trong file environment.rb tôi như vậy:
ENV['TMPDIR'] = Rails.root.join('tmp')
Có một biến môi trường mà cần phải được thiết lập để đảm bảo rằng các tempfiles được xử lý đúng cách - tức là xóa khi họ đã được lưu trong mô hình? Tôi không chắc đây có phải là vấn đề với thiết lập Paperclip hoặc Rails của tôi hay không.
Tôi đã tìm kiếm cao và thấp nhưng có ít tiến bộ về điều này. Tôi rất biết ơn đối với bất kỳ khách hàng tiềm năng nào.
Xin chân thành cảm ơn.
PS - Tôi hiện đang sử dụng S3 để lưu trữ. Điều này dường như không được gắn với vấn đề mặc dù - Tôi đã có cùng một vấn đề khi tôi đã được lưu trữ các tập tin tại địa phương.
Để bây giờ tôi đang xử lý các vấn đề tempfile sử dụng cron và tmpreaper. CRON chạy tmpreaper mỗi 10 phút để xóa thư mục tmp của tôi. Vẫn sẽ giống như một sửa chữa thanh lịch hơn nhưng điều này dường như đang làm việc cho bây giờ. – NAD
Bạn đang sử dụng máy chủ nào? Puma có lẽ? –
một chủ đề có liên quan trong nhóm devel Rack: https://groups.google.com/forum/#!searchin/rack-devel/temp/rack-devel/brK8eh-MByw/sw61oJJCGRMJ –