2010-11-17 1 views
0

Hello stack overflow people.Ruby HttpClient async

Кто-нибудь знает пример кода, чтобы сделать rubyl httpclient делать async-сообщение? У него есть метод, но похоже, что он просто дает вам соединение назад, вы должны продолжать проверять, что, я полагаю, все равно будет блокировать. Я не видел способ «стрелять и забывать» или просто передать метод, который он мог бы назвать позже в отдельном потоке, пока остальная часть моего кода будет работать.

спасибо, Craig

ответ

0

Это звучит, как вы программируете в evented стиле. Может быть, вы даже используете eventmachine? Вы не говорите об этом, но в случае, если вы это делаете, этот проект: https://github.com/eventmachine/em-http-request позволит вам сделать что-то близко:

EventMachine.run { 
    http = EventMachine::HttpRequest.new('http://127.0.0.1/').get :query => {'keyname' => 'value'} 

    http.callback { 
    p http.response_header.status 
    p http.response_header 
    p http.response 

    EventMachine.stop 
    } 
}