I am using the Rails console to move some files from one site to another. Inside a loop, I use the technique* advised in the Paperclip wiki to set the remote_url of the attachment to the correct URL, and then call save on the model, which copies the file over and runs it through the various resize/transcode steps defined in my attachment. Unfortunately, this does not seem to clean up after itself correctly, and I end up with a zillion files in the temp folder, and yesterday the server ran out of free space and stopped working.
I used ensure to clean up, but that's not a very friendly solution except when nobody else is using the server. Asset.current.where('assets.id > 31061').find_each do |a| begin # raw_file on the remote site returns a string with the URL of the file on S3 a.blob_remote_url = open("http://example.org/assets/#{a.id}/raw_file").read a.save rescue a.destroy ensure FileUtils.rm Dir.glob('/tmp/*.jpg') FileUtils.rm Dir.glob('/tmp/*.JPG') FileUtils.rm Dir.glob('/tmp/*.mov') FileUtils.rm Dir.glob('/tmp/*.MOV') FileUtils.rm Dir.glob('/tmp/*.mp4') FileUtils.rm Dir.glob('/tmp/open-uri*') end end Inside the Paperclip gem, the URI adapter uses open-uri and the open call to get a handle on the remote file, and since it's used inside a block, that handle should collapse when the request is done and be garbage collected. I don't see where the temp file is being created, or why it lingers. Is the issue because I am inside an irb loop? Does that have some separate context that prevents garbage collection? Thanks, Walter *https://github.com/thoughtbot/paperclip/wiki/Attachment-downloaded-from-a-URL -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-talk+unsubscr...@googlegroups.com. To post to this group, send email to rubyonrails-talk@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/7BA50553-470E-498A-9495-95CF2BEF709C%40wdstudio.com. For more options, visit https://groups.google.com/d/optout.