当我运行它然后在 OSX 活动监视器中观察我的 ruby 进程的内存消耗时,内存以大约 3 MB/s 的速度增加。
如果我删除事务,它的内存消耗大约会减半,但内存占用量仍在增加。我的生产应用程序有一个问题,Heroku 由于其内存消耗而终止了该进程。
有没有办法以不会增加内存的方式执行以下操作?如果我注释掉该.save
行,那没关系,但这当然不是解决方案。
ActiveRecord::Base.transaction do
10000000.times do |time|
puts "---- #{time} ----"
a = Activity.new(:name => "#{time} Activity")
a.save!(:validate => false)
a = nil
end
end
我正在使用delayed_job
.