如何在Ruby中与Eventmachine并行获取多个JSON

时间:2011-09-09 09:11:08

标签: ruby parallel-processing eventmachine http-request

我是EM的新手并且遵循这个例子:

EventMachine.run {
http = EventMachine::HttpRequest.new('http://google.com/').get :query => {'keyname' => 'value'}
http.errback { p 'Uh oh'; EM.stop }
http.callback {
    p http.response_header.status
    p http.response_header
    p http.response

    EventMachine.stop
  }
}

我想做类似的事情。

我想从多个不同的Web服务器并行获取“JavaScript Object Notation”(JSON)文件。

我找不到如何将所有这些JSON文件存储在公共变量中的方法,以便我之后可以对它们进行一些计算,就像我将JSON存储在全局数组中的每个请求中一样。

1 个答案:

答案 0 :(得分:1)

您希望请求并行并在完成所有请求后进行处理吗?

您可以使用em-http-request中的EventMachine::MultiRequest。维基有关于发出并行请求的文档,请参阅“与多接口同步”。

您应该将我们的代码添加到multi.callback,您将收到一系列请求。