如何从ruby脚本并行启动多个rakes

Nic*_*ick 10 ruby rake

我有一个ruby脚本,我想从中发起4个rake任务并行运行.

我该怎么做呢?我想我需要分叉并分离一个进程,但我需要确切的语法.

Jos*_*ein 16

如果让Rake处理并行性,那就更好了.你可以使用"多任务"来做到这一点.在Rakefile里面:

desc "Start everything."
multitask :start => [ 'mongodb:start', 'haystack:start' ]
Run Code Online (Sandbox Code Playgroud)

背景和来源.

否则,假设您是从Rakefile外部执行此操作,您可以使用这样的可怕代码,它不会像您期望的那样抛出异常,并且可能在很多方面容易失败:

require 'rake'
load 'Rakefile'

def invoke(name)
  Thread.new do
    puts Rake::application[name].invoke
  end
end

invoke :make_coffee
invoke :boil_eggs
invoke :empty_trash
Run Code Online (Sandbox Code Playgroud)

(所以不要这样做)