urllib + timeout mit Python 2.2.x

Ab Python 2.3 kann man ja mit socket.setdefaulttimeout(1) einen Timeout auch für urllib "setzten". Leider hab ich auf dem Server nur Python 2.2.x :( Ich brauche aber auch dafür einen Timeout bei einem urllib.urlopen()...
Nun hab ich mir gedacht, das man es mit threading machen könnte: =========================================================== import urllib, threading
class urlopen(threading.Thread):
def __init__( self, url, timeout ): self.url = url
threading.Thread.__init__(self)
self.start() self.join( timeout ) self.stop()
def run(self): self.u = urllib.urlopen( self.url )
def stop( self ): print "soll gestoppt werden..."
print "Starte..." page = urlopen( "http://192.168.0.0", 1 ) print "OK" ===========================================================
Aber wie kann ich einen blockierten urlopen() bei stop() anhalten???
_______________________________________________ python-de maillist - python-de@python.net http://python.net/mailman/listinfo/python-de

On Tue, Aug 30, 2005 at 07:52:33AM +0200, jens wrote:
Ab Python 2.3 kann man ja mit socket.setdefaulttimeout(1) einen Timeout auch fuer urllib "setzten". Leider hab ich auf dem Server nur Python 2.2.x :( [...]
Besorg dir timeoutsocket.py.
Erster Ansatz mit Google, das zu finden:
http://projects.isotoma.com/isotoma/file/trunk/timeoutsocket.py?rev=1&fo...
-- Gerhard
_______________________________________________ python-de maillist - python-de@python.net http://python.net/mailman/listinfo/python-de

Gerhard Haering schrieb:
Besorg dir timeoutsocket.py.
Das kenne ich auch, aber ich find's ein wenig "viel" Code... Würde es nicht auch gehen, mit dem abwürgen vom Thread? Siehe meinen Code...

On Tue, Aug 30, 2005 at 02:09:02PM +0200, jens diemer wrote:
Gerhard Haering schrieb:
Besorg dir timeoutsocket.py.
Das kenne ich auch, aber ich find's ein wenig "viel" Code... Wuerde es nicht auch gehen, mit dem abwuergen vom Thread? Siehe meinen Code...
Wenn man das Modul importiert, ist es nicht "viel" Code ;-)
Ein import und ein setDefaultSocketTimeout() w�rden m. E. ausreichen.
-- Gerhard
_______________________________________________ python-de maillist - python-de@python.net http://python.net/mailman/listinfo/python-de

Am Tuesday, 30. August 2005 14:09 schrieb jens diemer:
Gerhard Haering schrieb:
Besorg dir timeoutsocket.py.
Das kenne ich auch, aber ich find's ein wenig "viel" Code... Würde es nicht auch gehen, mit dem abwürgen vom Thread? Siehe meinen Code...
Man kann threads nicht abwuergen. Google in c.l.python, da wurden Tonnen von Diskussionen darueber gefuehrt.
Diez
_______________________________________________ python-de maillist - python-de@python.net http://python.net/mailman/listinfo/python-de
participants (4)
-
Diez B. Roggisch
-
Gerhard Haering
-
jens
-
jens diemer