因此,这是一个简单的瑞克任务:
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`
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句