增加了添加到数据库功能。

This commit is contained in:
facat 2019-06-16 18:28:19 +08:00
parent d6ebd624ef
commit 4b55dc0977
3 changed files with 41 additions and 18 deletions

View File

@ -1,22 +1,27 @@
import requests import requests
import datetime import datetime
import model
# file_size if byte # file_size if byte
def download_file(url, chunk_size=64 * 1024, file_size=100 * 1024 * 1024): def download_file(servers, chunk_size=64 * 1024, file_size=1 * 1024 * 1024):
chunk_read = 0 for server in servers:
s_time = datetime.datetime.now() url = server["url"]
e_time = None server_name = server["name"]
with requests.get(url, stream=True) as r: chunk_read = 0
for chunk in r.iter_content(chunk_size): s_time = datetime.datetime.now()
if chunk_read >= file_size: e_time = None
e_time = datetime.datetime.now() with requests.get(url, stream=True) as r:
break for chunk in r.iter_content(chunk_size):
if chunk: if chunk_read >= file_size:
chunk_read += len(chunk) e_time = datetime.datetime.now()
duration = (e_time - s_time).total_seconds() break
speed = chunk_read / duration / 1024 / 1024 * 8 # mega bit if chunk:
# print("{} MB download".format(chunk_read / 1024 / 1024)) chunk_read += len(chunk)
# print("{} seconds".format(duration / 1)) duration = (e_time - s_time).total_seconds()
return speed speed = chunk_read / duration / 1024 / 1024 * 8 # mega bit
model.add_record(server_name, speed)
# print(now_timestamp{} MB download".format(chunk_read / 1024 / 1024))
# print("{} seconds".format(duration / 1))
# return speed

View File

@ -2,6 +2,7 @@ import downloader
if __name__ == "__main__": if __name__ == "__main__":
chunk_read = downloader.download_file("http://67.209.190.15/1000M.bin") servers = [{"url": "http://67.209.190.15/1000M.bin", "name": "bwg"}]
print(chunk_read) chunk_read = downloader.download_file(servers)
# print(chunk_read)
print("Finished.") print("Finished.")

17
model.py Normal file
View File

@ -0,0 +1,17 @@
from peewee import *
import datetime
mysql_db = MySQLDatabase(
"vps", user="dmy", password="abc123+_", host="192.168.1.130", port=3306
)
def add_record(server, speed):
now = datetime.datetime.now()
now_timestamp = now.strftime("%Y-%m-%d %H:%M:%S")
print(now_timestamp)
mysql_db.execute_sql(
'insert into vps_download_speed(server,speed,datetime) values("{server}",{speed},"{datetime}")'.format(
server=server, speed=speed, datetime=now_timestamp
)
)