我有一个ruby脚本,我想从中启动4个rake任务以并行运行。
我该怎么做呢?我想我需要 fork 并分离一个进程,但是我需要确切的语法。
最佳答案
最好让Rake处理并行性。您可以使用“多任务”来完成。在Rakefile中:
desc "Start everything."
multitask :start => [ 'mongodb:start', 'haystack:start' ]
Background and source.
否则,假设您是从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
(所以不要那样做)
关于ruby - 如何从 ruby 脚本并行启动多个 rake ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5606290/