Как получить несколько JSON параллельно с Eventmachine в Ruby - PullRequest
1 голос
/ 09 сентября 2011

Я новичок в 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
  }
}

Я хочу сделать что-то подобное.

Я хочу получить файлы "JavaScript Object Notation" (JSON)параллельно с нескольких разных веб-серверов.

Я не могу найти способ сохранить все эти файлы JSON в общей переменной, чтобы впоследствии я мог выполнить некоторые вычисления для них, что-то вроде каждого сохраняемого запросаJSON в глобальном массиве.

1 Ответ

1 голос
/ 09 сентября 2011

Вы хотите, чтобы запросы были параллельными и обрабатывали их после того, как все были выполнены?

Вы можете использовать EventMachine::MultiRequest из em-http-request .В вики есть документация по выдаче параллельных запросов, см. «Синхронизация с мультиинтерфейсом».

Вы должны добавить наш код в multi.callback, и вы получите массив запросов.

...