2013-03-07 28 views
0

自舉的Rails在命令行腳本需要很長的時間(2.5+秒), 例如:紅寶石1.9.3,Rails的3.2.12,OSX獅子 - 引導滑軌爲命令行腳本慢

timer = Time.now 
ENV["RAILS_ENV"] ||= "development" 
require File.expand_path('../../config/application', __FILE__) 
Rails.application.require_environment! 
puts "Init complete in #{Time.now - timer} sec" 
# -> Init complete in 2.621531 sec 

我錯過了什麼嗎?如果沒有,我是否真的需要引導所有東西來訪問模型?

+0

你也可以直接調用require'config/environment'來完成你需要的各種環境加載。然而,它不會加速你已經擁有的東西。看到我的建議如下。 – 2013-03-07 06:14:58

回答

0

我沒有很多這方面的經驗,但也許你應該看一看修剪下來是required in application.rb庫的數量:

# require 'rails/all' # remove this and only require what you need 
require 'activerecord/railtie' # this may be all you need 

此外,看看寶石你正在加載和see if any of them are taking an inordinate amount of time。如果一個特定的寶石明顯放緩開機時,只需添加:

# you will need to explicitly load the gem when needed, 
# but it won't be required at boot time 
gem some_gem, :require => false 

您可以創建一個運行腳本一個特殊的環境和自定義該環境的引導過程。

您應該剖析該代碼塊並查看大部分時間都花在哪裏。

你究竟試圖走出引導軌?訪問模型?基礎數據?也許有一種比引導所有rails更好的方法。