jeudi, septembre 06, 2007

Le mot clef "retry"

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.
Technorati tags:

Aucun commentaire: