[英]Run two ruby scripts from rake task
因此,這是一個簡單的瑞克任務:
task :map_reduce do
puts 'Running map reduce scripts...'
ruby "#{PADRINO_ROOT}/map_reduce/raw_visits_map.rb '03-08-2016' 90" && ruby "#{PADRINO_ROOT}/map_reduce/raw_visits_reducer.rb"
end
第一個腳本在STDOUT中輸出結果,以供所謂的“ reducer”進一步讀取。 在終端中,我可以運行以下兩個腳本:
ruby first_script.rb param1 param2 | ruby second_script.rb
所以第二個腳本可以像這樣從STDOUT讀取
res = ARGF
但是,如何在該rake任務中排列2個執行?
我如何錯誤地嘗試了它不起作用。
將ruby類直接要求到rake任務中可能會更容易,但是如果要從rake任務中運行腳本,則可以使用反引號在Ruby中運行任何shell代碼,如下所示:
`ruby first_script.rb param1 param2 | ruby second_script.rb`
也許您應該使用反引號或%x
語法。
另請參閱以下答案: Ruby,exec,system和%x()或Backticks之間的差異
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.