對於我的大型應用程序,Rails控制檯需要一段時間才能加載。有沒有辦法更簡單地單一命令?在控制檯之外運行Rails命令
我也想能夠自動化的東西,並echo "query" | rails console
是不是一個偉大的方式來做事情。
想法?
編輯:如果我有需要的話,我可以查詢到一個長時間運行的過程呢?
對於我的大型應用程序,Rails控制檯需要一段時間才能加載。有沒有辦法更簡單地單一命令?在控制檯之外運行Rails命令
我也想能夠自動化的東西,並echo "query" | rails console
是不是一個偉大的方式來做事情。
想法?
編輯:如果我有需要的話,我可以查詢到一個長時間運行的過程呢?
有外界控制檯運行命令主要有兩種方式:
軌道亞軍(以前腳本/亞軍),例如:
$軌道亞軍「查詢」
兩者在導軌指南上都有很好的記錄:http://guides.rubyonrails.org/command_line.html
btw:這兩種方法仍然需要與控制檯相同的時間來啓動,但它們對於非交互式任務很有用。
只是管它:
echo 'puts Article.count' | bundle exec rails c
它現在應該是因爲Spring不是那麼當這個問題最初問快了很多。這不是直接的,而是比旋轉整個應用程序快得多。使用此爲快車道,應該在第二運行(假設你需要的命令是快):
echo 'puts Article.count' | spring rails c
如果你真的想要一個長期運行的進程,你可以很容易地通過創建一個控制器做只需運行POST的任何操作,然後使用curl在別名後面發送命令。這種行動當然是完全不安全的,應該三重防範在靠近生產的任何地方跑步,但這會很容易設置。
我很好奇你的用例是什麼,因爲它似乎有可能是一個更好的解決方案。 –
我正在使用Geckoboard從正在運行的應用程序獲取統計信息,使用JSON提要我正在設置這些查詢......我是否完全錯誤? – tekknolagi
將代碼直接構建到應用程序中並通過HTTP獲取數據可能更有意義。如果它是敏感信息,則需要某種授權,例如,一個帶有請求的API密鑰。 –