31 lines
877 B
Python
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
|