download_speed/ping.py

31 lines
877 B
Python

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 = ping3.ping(addr, timeout=5) * 1000 # in millionsecond
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