1.由于ping需要sudo,所以单独拿出来。

This commit is contained in:
Gogs 2019-06-19 23:03:24 +08:00
parent 0323f5a3bb
commit 5f740d44d9
3 changed files with 6 additions and 29 deletions

2
.gitignore vendored
View File

@ -6,4 +6,4 @@ include/
lib/ lib/
.idea .idea
config.json config.json
run_ping.sh

View File

@ -2,10 +2,8 @@
import downloader import downloader
import config import config
import ping
if __name__ == "__main__": if __name__ == "__main__":
config.init_config() config.init_config()
downloader.download_file() downloader.download_file()
ping.ping()
print("Finished.") print("Finished.")

31
ping.py
View File

@ -1,30 +1,9 @@
#!/usr/bin/python
import config import config
import urllib.parse as parse import ping
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__": if __name__ == "__main__":
config.init_config() config.init_config()
ping() ping.ping()
pass print("Finished.")