2016-09-20 118 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`