J'ai eu une drole de suprise quand j'ai voulu appeller une variable "retry", il existe un mot clef "retry"!
Ni une, ni deux je fonce voir la doc dans le "pickaxe": retry.
Devinez quoi ? Ca fait exactement ce que je voulais faire mais en mieux ;)
Je voulais implémenter un système de retry quand j'appelle un url qui me retourne un timeout.
Donc voilà le code:
require 'httpclient' client = HTTPClient.new url = "http://localhost:3000/foo" i = 0 begin puts url resp = client.get(url) rescue Timeout::Error i += 1 $stderr.print "Timeout error: " + $! retry if (i < 2) end
Ca a l'air de bien marcher :)
J'en ai découvert un autre en lisant la doc "redo"! Faut que je regarde la différence avec "retry"...
Sinon j'ai trouvé une petite list des mots clefs en ruby.
Aucun commentaire:
Enregistrer un commentaire