我做了一个非常大的脚本,感觉我的初始数据进入我的rails应用程序.我的CSV和10000张图片中有大约3000行.
可能300上传后我得到了这条消息:
/usr/local/lib/ruby/gems/1.9.1/gems/activesupport-3.0.9/lib/active_support/core_ext/kernel/agnostics.rb:7:in ``': Cannot allocate memory - identify -format %wx%h '/tmp/stream20111104-14788-1hsumv7.jpg[0]' (Errno::ENOMEM)
我的上传脚本:
if (row[28] != nil) hotelalbum = HotelAlbumPhoto.find_or_create_by_title(h.title) hotelalbum.description = "Album photo de l'hotel " + h.title.capitalize hotelalbum.hotel_id = h.id hotelalbum.save files = Dir.glob('IMAGES/' + row[28].gsub(/\\/,'/') + '/*.jpg') i =0 for file in files i += 1 photopath = File.expand_path('../../import',__FILE__) + '/' + file photoname = file.split('/').last if (i==1) hotelalbum.thumbnail = open(photopath) hotelalbum.save end if (i==1) h.thumbnail = open(photopath) end photo = HotelImage.find_or_create_by_image_file_name_and_hotel_album_photo_id(photoname,hotelalbum.id) if (photo.image_file_size == nil || photo.image_file_name != photoname) photo.image = open(photopath) photo.activated = true photo.alt = "Photo de l'hotel " + h.title photo.save else puts photopath + ' already updated' end end end
当我使用top命令检查我的内存时,我看到ruby进程在每次上传时使用更多内存.我该怎么办呢?
谢谢你的帮助
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。