5

ruby 1.8.7 是否有对应的生成器?

似乎它是在 1.9.1 http://apidock.com/ruby/Kernel/spawn中引入的

我需要以下内容才能在 ruby​​ 1.8.7 中工作:

def run_worker(queue, count = 1)
  puts "Starting #{count} worker(s) with QUEUE: #{queue}"
  ops = {:pgroup => true, :err => [(Rails.root + "log/resque_err").to_s, "a"], 
                          :out => [(Rails.root + "log/resque_stdout").to_s, "a"]}
  env_vars = {"QUEUE" => queue.to_s}
  count.times {
    ## Using Kernel.spawn and Process.detach because regular system() call would
    ## cause the processes to quit when capistrano finishes
    pid = spawn(env_vars, "rake resque:work", ops)
    Process.detach(pid)
  }
end
4

1 回答 1

0

您可以在 1.8.7 中使用此 gem - https://github.com/rtomayko/posix-spawn来实现这一点。它不支持“完整”1.9 的 Process::spawn 接口,但您的示例应该通过将 Process::spawn 更改为 POSIX::Spawn::spawn 来使用它(https://github.com/rtomayko/posix -spawn#status)。

于 2015-03-30T19:18:54.163 回答