3
Запуск следующий кодРубин | binread: не удалось выделить память (NoMemoryError)
Dir.foreach(FileUtils.pwd()) do |f| if f.end_with?('log') File.open(f) do |file| if File.size(f) > MAX_FILE_SIZE puts f puts file.ctime puts file.mtime # zipping the file orig = f Zlib::GzipWriter.open('arch_log.gz') do |gz| gz.mtime = File.mtime(orig) gz.orig_name = orig gz.write IO.binread(orig) puts "File has been archived" end #deleting the file begin File.delete(f) puts "File has been deleted" rescue Exception => e puts "File #{f} can not be deleted" puts " Error #{e.message}" puts "======= Please remove file manually ==========" end end end end end
Также файлы довольно тяжелый более 1 Гб. Любая помощь будет оценена по достоинству.
Я тоже видел это в документации, и мне было интересно, если есть альтернатива более похожа на файловых потоков .net, поэтому рубин не постоянно создавать дескрипторов файлов на каждый вызов binread. – Candide