uniqUsers = User.find(params[:userid]).events.where("comingfrom != ''").uniq_by {|obj| obj.comingfrom}
uniqUsers.map do |elem|
begin
@tag = nil
open('http://localhost:3000/search_dbs/show?userid='+ params[:userid] + '&fromnumber=' + elem.comingfrom + '&format=json', 'r', :read_timeout=>1) do |http|
@tag = http.read
end
rescue Exception => e
puts "failes"
puts e
end
end
Bonjour, cela me rend fou, pour une raison quelconque, la commande open url est à court de temps sans erreur. quand j'essaye la même URL dans le chrome tout fonctionne comme un charme, quand Im faisant ceci du code je reçois Timeout :: Erreurl'URL ouverte est Timeout :: Error
L'exécutez-vous sur la même machine que Chrome? Avez-vous un pare-feu au niveau de l'application qui empêche Ruby d'établir des connexions? – tadman
Avez-vous essayé d'augmenter 'read_timeout'? Vous l'avez réglé à une seconde (': read_timeout => 1'), ce qui peut ne pas suffire. Essayez de le définir sur quelque chose de beaucoup plus élevé. –
Une seconde est extrêmement faible. Certains sites ne peuvent pas agir ensemble en cinq secondes. –