我正在使用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