Pull in more fedmsg-map changes.
... from https://github.com/fedora-infra/fedmsg/pull/338
This commit is contained in:
parent
2419f176e3
commit
055645e9d3
1 changed files with 26 additions and 23 deletions
|
@ -22,7 +22,7 @@ for_collectd = 'verbose' not in sys.argv
|
||||||
active = collections.defaultdict(list)
|
active = collections.defaultdict(list)
|
||||||
inactive = collections.defaultdict(list)
|
inactive = collections.defaultdict(list)
|
||||||
|
|
||||||
pool = multiprocessing.pool.ThreadPool(10)
|
pool = multiprocessing.pool.ThreadPool(25)
|
||||||
|
|
||||||
def info(content="\n"):
|
def info(content="\n"):
|
||||||
if not for_collectd:
|
if not for_collectd:
|
||||||
|
@ -30,32 +30,33 @@ def info(content="\n"):
|
||||||
sys.stdout.flush()
|
sys.stdout.flush()
|
||||||
|
|
||||||
def scan_one(item):
|
def scan_one(item):
|
||||||
name, endpoints = item
|
name, endpoint = item
|
||||||
for endpoint in endpoints:
|
if not endpoint.startswith('tcp://'):
|
||||||
if not endpoint.startswith('tcp://'):
|
raise ValueError("Don't know how to deal with %r" % endpoint)
|
||||||
raise ValueError("Don't know how to deal with %r" % endpoint)
|
endpoint = endpoint[len('tcp://'):].split(':')
|
||||||
endpoint = endpoint[len('tcp://'):].split(':')
|
connection = None
|
||||||
connection = None
|
try:
|
||||||
try:
|
connection = socket.create_connection(endpoint, timeout)
|
||||||
connection = socket.create_connection(endpoint, timeout)
|
actual = base64.b64encode(connection.recv(10))
|
||||||
actual = base64.b64encode(connection.recv(10))
|
if actual != expected:
|
||||||
if actual != expected:
|
inactive[name].append((
|
||||||
inactive[name].append((
|
endpoint, "%r is not %r" % (actual, expected)))
|
||||||
endpoint, "%r is not %r" % (actual, expected)))
|
|
||||||
info("F")
|
|
||||||
else:
|
|
||||||
active[name].append((endpoint, "all active"))
|
|
||||||
info(".")
|
|
||||||
except socket.error as e:
|
|
||||||
inactive[name].append((endpoint, str(e)))
|
|
||||||
info("F")
|
info("F")
|
||||||
if connection:
|
else:
|
||||||
connection.close()
|
active[name].append((endpoint, "all active"))
|
||||||
|
info(".")
|
||||||
|
except socket.error as e:
|
||||||
|
inactive[name].append((endpoint, str(e)))
|
||||||
|
info("F")
|
||||||
|
if connection:
|
||||||
|
connection.close()
|
||||||
|
|
||||||
|
|
||||||
def scan_all():
|
def scan_all():
|
||||||
|
items = [(name, addr)
|
||||||
pool.map(scan_one, config['endpoints'].items())
|
for name, endpoints in config['endpoints'].items()
|
||||||
|
for addr in endpoints]
|
||||||
|
pool.map(scan_one, items)
|
||||||
|
|
||||||
info()
|
info()
|
||||||
|
|
||||||
|
@ -128,3 +129,5 @@ else:
|
||||||
print(output)
|
print(output)
|
||||||
if interval - delta > 0:
|
if interval - delta > 0:
|
||||||
time.sleep(interval - delta)
|
time.sleep(interval - delta)
|
||||||
|
|
||||||
|
pool.close()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue