增加了添加到数据库功能。
This commit is contained in:
parent
d6ebd624ef
commit
4b55dc0977
|
|
@ -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
|
||||||
|
|
|
||||||
5
main.py
5
main.py
|
|
@ -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.")
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
)
|
||||||
|
)
|
||||||
Loading…
Reference in New Issue