handle timeout in peers script
authorThomasV <thomasv@gitorious>
Sat, 22 Mar 2014 10:04:52 +0000 (11:04 +0100)
committerThomasV <thomasv@gitorious>
Sat, 22 Mar 2014 10:04:52 +0000 (11:04 +0100)
scripts/peers

index efc1669..2a37f21 100755 (executable)
@@ -19,6 +19,7 @@ r = q.get(timeout=10000)
 peers = parse_servers(r.get('result'))
 peers = filter_protocol(peers,'s')
 
+print "Contacting %d servers"%len(peers)
 # start interfaces
 config = SimpleConfig()
 interfaces = map ( lambda server: Interface(server, config), peers )
@@ -27,12 +28,17 @@ reached_servers = []
 for i in interfaces: i.start(q)
 
 while peers:
-    i = q.get(timeout=10)
+    try:
+        i = q.get(timeout=3)
+    except:
+        break
     peers.remove(i.server)
     if i.is_connected:
         i.send([('blockchain.headers.subscribe',[])], lambda i,x: results_queue.put((i,x)))
         reached_servers.append(i.server)
 
+print "%d servers could be reached"%len(reached_servers)
+
 def analyze(results):
     out = {}
     dd = {}