[Python-Dev] timeout options in high-level networking modules
Steve Holden
steve at holdenweb.com
Thu Dec 22 16:52:47 CET 2005
Jim Fulton wrote:
> Yesterday, I needed to make a web request in a program (actually a test)
> that could block indefinately, so I needed to set a socket timeout.
> Unfortunately, AFAICT none of urllib, urllib2, httplib provide options to set
> the timeout on the sockets they use. I ended up having to roll my own
> code to make the request.
>
> It would be nice if high-level network modules, like the ones mentioned
> above, had options to provide a timeout. (For example, urlopen could
> grow an optional timout argument.)
>
> Thoughts?
>
> If we think this is a good idea, then someone who has time could start chipping
> away at it. I'm happy to work on this *if* I can find time. This would make
> a nice easy sprint project at PyCon too.
>
That's a very good idea. At present the only option one has is to set a
global socket.defaulttimout() or somehow monkey-patch the modules you
want to use, and neither of those options are entirely satisfactory.
Basically any method that can create a new TCP connection should acquire
an optional timeout=None parameter, right?
regards
Steve
--
Steve Holden +44 150 684 7255 +1 800 494 3119
Holden Web LLC www.holdenweb.com
PyCon TX 2006 www.python.org/pycon/
More information about the Python-Dev
mailing list