network programming without goto
Josiah Carlson
jcarlson at uci.edu
Thu Nov 25 12:57:12 EST 2004
Oops, I forgot to mark the 'query' as done when it was done...
queries = [buildquery(t) for t in targets]
for host in hostlist:
tries_remaining = 3 #tunable parameter
for q in queries:
done = 0
for i in xrange(tries_remaining+1):
if i == tries_remaining:
break
try:
conn = zoom.Connecton(host.ip, host.port)
r = conn.search(q)
conn.close()
done = 1
break
except:
continue
#handle result r
break
tries_remaining -= i
if tries_remaining == 0 or done:
break
More information about the Python-list
mailing list