Ich rufe aus einem Programm Methoden remote mit XML RPC auf. Manchmal kann es passieren, dass die Antwort des XML RPC Servers sehr lange auf sich warten lässt. Was muss ich tun, um den wartenden XML RPC Client vorzeitig zu beenden?
Ich suche leider schon eine kleine Ewigkeit im Netz herum, finde aber dazu keine Antwort.
Code: Alles auswählen
from xmlrpclib import ServerProxy, Error
from threading import Thread
from time import sleep
class XMLRPC_Thread(Thread):
def __init__(self):
Thread.__init__(self)
hostname="192.168.0.31"
port = 33333
host=(hostname, port)
uri = "http://"+host[0]+":"+str(host[1])
self.test_node = ServerProxy(uri)
def run(self):
try:
x = self.test_node.get_stuck() # Aufruf blockiert beliebig lang
except Error, v:
print "Error", v
def stop(self):
# wie kann man den Client stoppen??
pass
x = XMLRPC_Thread()
x.start() # starte XMLRPC Thread
sleep(10) # warte 10 Sekunden
x.stop() #stoppe XMLRPC Thread