所以我在我的表中的所有50,000条记录中运行了一些逻辑(实际上有几条记录,但我们只是在这里解决一个它们都是相同的操作)并标记布尔指示符:
ActiveRecord::Base.silence do
CoreRevenue.where('core_revenues_usd IS NOT NULL').each do |c|
c.ok = true
c.save
end
end
Run Code Online (Sandbox Code Playgroud)
正如你可能已经注意到,我已经从输出一串SQL响应控制台的"闭嘴"的数据库,但总是有在操作结束的大阵列转储,可以采取有时只要5-10秒.
所以我想知道我是否可以在操作完成后停止从x哪里x = CoreRevenue.where('core_revenues_usd IS NOT NULL')倾倒.谢谢.
同样"令人兴奋的"将是一个答案,解释为什么由于某种lambda演算计算事物或者你有什么不可能
虽然我的原始脚本比这复杂得多,但我甚至无法让这个脚本完成 rails c
这是我尝试过的,但公平地说,这个例子是什么并不重要.当图形生成过程开始时,功能似乎会崩溃.
从 rails c
R.eval("numbers <- c(12,34,56,20,44,65)")
R.eval("png('sample.png')")
R.eval("plot(numbers)")
R.eval("dev.off()")
#nothing happens
Run Code Online (Sandbox Code Playgroud)
从 irb
R.eval("numbers <- c(12,34,56,20,44,65)")
R.eval("png('sample.png')")
R.eval("plot(numbers)")
R.eval("dev.off()")
#action!
Run Code Online (Sandbox Code Playgroud)
因此,在轨道之外,例如在红宝石irb中,一切都运行良好.这是rails环境独有的问题