2016-09-20 92 views
2

2個的Ruby腳本所以這是一個簡單的rake任務:從運行耙子任務

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由所謂的「減速」進一步閱讀。 在終端,我可以運行像那兩個腳本:

ruby first_script.rb param1 param2 | ruby second_script.rb 

所以第二個腳本可以從STDOUT像

​​

不過看了我怎麼能排隊瑞克內的兩個處決任務?

我如何錯誤地嘗試它不工作。

+1

可能更容易,要求Ruby類直接進入你的耙的任務,但如果你想從一個rake任務,你可以運行任何運行腳本在Ruby中我們使用shell代碼反引號,如下所示:'\'ruby first_script.rb param1 param2 | ruby second_script.rb \'' – omnikron

+0

@omnikron感謝隊友,像一個魅力工作:)寫它作爲一個答案,我會接受它。乾杯! –

+0

完成!很高興幫助:) – omnikron

回答

2

可能更容易,要求Ruby類直接進入你的耙的任務,但如果你想從一個rake任務運行腳本,你可以使用反引號運行Ruby的任何shell代碼,就像這樣:

`ruby first_script.rb param1 param2 | ruby second_script.rb`