Ensemble read_timeout pour l'appel de service en Ruby Net::HTTP.démarrer
Je veux remplacer la valeur par défaut délai d'attente pour l'appel de service dans mon code ruby.
J'connexion ouverte en vertu de l'.
res = Net::HTTP.start(@@task_url.host, @@task_url.port) do |http|
http.get("/tasks/#{task_id}")
end
J'ai essayé de définir le read_timeout temps comme sous, mais ensuite j'ai eu la NoMethodError exception dans mon code.
res = Net::HTTP.start(@@task_url.host, @@task_url.port)
res.read_timeout = 10
res do |http|
http.get("/tasks/#{task_id}")
end
Me suggérer comment dois-je régler le read_timeout. Et je suis à la recherche pour définir le read_timeout quelque part à l'échelle mondiale, de sorte que je peux utiliser ce délai pour tous mes appels de service par le biais de Net::HTTPP.start()
double possible de Ruby Net::HTTP temps aussi, avec HTTP.démarrer, également mis
read_timeout
.OriginalL'auteur manyu | 2013-03-01
Vous devez vous connecter pour publier un commentaire.
Si vous utilisez Ruby 1.8 vous devez utiliser
Net::HTTP.new
:Si vous regardez la le code source de
Net::HTTP.start
, vous verrez que::start
est juste appeler::new
avec#start
méthode:>= Ruby 1.9
Vous pouvez définir read_timeout dans opter argument:
start(address, ..., opt, &block)
comme ceci:
Pouvez-vous poster quelque part (gist.github.com) le morceau de code que vous essayez?
Essayez
irb
, justerequire "net/http"; res = Net::HTTP.start(your_host, your_port, :read_timeout => 10)
si cela fonctionne.en fait, je pense que la signature s'attend à ce que d'autres valeurs pour être passé dans la méthode. Donc ne pas essayer en passant par d'autres paramètres comme nul
Oui essayer avec d'autres params à néant, mais c'est étrange, parce que ça marche pour moi sans problème.
OriginalL'auteur A.D.
Vous pouvez utiliser
ouvrir
deOpenURI
. Cette méthode a un:read_timeout
option. Je ne sais pas comment définir l'option à l'échelle mondiale, mais vous pouvez l'envelopper à l'intérieur d'une fonction personnalisée qui définit cette option.Utilisation:
OriginalL'auteur Baldrick