import config import urllib.parse as parse import ping3 import model import datetime def ping(): servers = config.get_servers() execution_datetime = datetime.datetime.now() print("Ping at {time}".format(time=execution_datetime)) for server_name in servers: server = servers[server_name] url = server["url"] named_tup = parse.urlparse(url) netloc = named_tup.netloc port_loc = netloc.find(":") if port_loc > 0: addr = netloc[0:port_loc] else: addr = netloc ping_delay_sum = 0 for i in range(4): ping_delay_sum += ping3.ping(addr, timeout=5) * 1000 # in millionsecond ping_delay = ping_delay_sum / 4 print( "Ping delay for {serv} is {ping_val}".format( serv=server_name, ping_val=ping_delay ) ) model.add_ping_record(execution_datetime, server_name, ping_delay) if __name__ == "__main__": config.init_config() ping() pass