我正在使用Typhoeus,并希望在不阻止响应的情况下发出一个请求。稍后,我可能会检查答复,否则我可能不会。关键是我不希望代码执行等待响应。我可以用Ruby的Typhoeus进行异步请求吗?
有没有办法对Typhoeus进行内置操作?
否则我想我必须使用线程并自己做?
我正在使用Typhoeus,并希望在不阻止响应的情况下发出一个请求。稍后,我可能会检查答复,否则我可能不会。关键是我不希望代码执行等待响应。我可以用Ruby的Typhoeus进行异步请求吗?
有没有办法对Typhoeus进行内置操作?
否则我想我必须使用线程并自己做?
你可以尝试使用thread:
response = nil
request_thread = Thread.new {
# Set up the request object here
response = request.response
}
从那里,你可以检查response == nil
看是否请求尚未作出,并且可以调用request_thread.join
阻塞,直到线程执行完毕。
我会建议寻找Ruby的'unirest'gem。
据我所知,在“hydra.run”百头巨怪块调用
随着Unirest,它不会对GET/POST/PUT块/等电话,但继续运行。如果你愿意,你可以存储在一个散或标识数组中的“对象”后进行检索,像这样:
identifier_requests['id'] = Unirest.post(url,headers: headers, parameters: param, auth: auth)
然后以阻止或检索响应,使用其中一个呼叫的响应对象:
response_code = (identifier_requests['id']).code
response.body