On Thu, 17 Aug 2006, Jeffrey wrote: > I love open-uri, but does anyone know how to configure the time-out > before open() will throw a Timeout::Error? I'd like to make it > shorter. > > I'm trying to download some documents from a server that sometimes > works fine, but other times seems to ignore HTTP requests entirely. If > a download doesn't begin after a few seconds, I want to give up on the > request and try again. Ideas are welcome. the simple way is require 'timeout' retries = 42 begin Timeout::timeout(s){ open('http://a.url.com') do |f| # ... stuff with f end } rescue Timeout::Error retries -= 1 if retry > 0 sleep 0.42 and retry else raise end end -a -- to foster inner awareness, introspection, and reasoning is more efficient than meditation and prayer. - h.h. the 14th dali lama