[Zope-dev] Possible 'bad' with Client.py and urllib

Chris Withers chrisw@nipltd.com
Thu, 08 Feb 2001 12:47:50 +0000


Hi,

Both urllib and Client.py can be used to get stuff from other sites via HTTP and
do useful stuff with it, right?

Well, I was doing this and I think I've found what could be a 'real bad
problem'.

It appears that both of the above block while getting stuff from the remote
site. Worse than that, they don't only block their current thread, they seem to
block _all_ the Zope threads.

The reason I say that is I ended up in a situation where I was using Client.py
to get something from the Zope server on which Client.py was running. Because of
the above, it effectively blocked the whole Zope server until the Client.py bit
timed out.

Does any of this make any sense to anyone?
Is there a thread-safe equivalent of Client.py and/or urllib.open?
Kindof related, is there any way to set the HTTP timeout when getting stuff
using either approach?

cheers for any help,

Chris