Авто-обновление сайтов

main
none 8 months ago
parent 136fde4a7e
commit 0e3dd23e39

@ -4,15 +4,60 @@ from time import sleep
from db import *
from network import *
# Логирование ошибок
import logging
def update_demon(serv_port):
while True:
try:
# Собираем порты
ports = port_check(serv_port)
conf = read()
conf["ports"] = ports
write(conf)
sleep(8)
except:
# Перебираем всех клиентов
for port in ports:
try:
# Проверяем у клиента его сайты и сравниваем
raw = client(port, "check_all").split("<>")
dest = [] # Приводим к виду ["just.j et", "2"]
for i in raw:
dest.append(i.split("_"))
# Проверяем наши сайты
raw = client(8001, "check_all", '127.0.0.1').split("<>")
our = [] # Приводим к виду ["just.jet", "2"]
for i in raw:
our.append(i.split("_"))
# Сравниваем
for i in range(len(dest)):
el = dest[i][0]
ver = dest[i][1]
# Проверяем есть ли у нас такое
found = False
for check in our:
if check[0] == el:
# Сверяем версии
if check[1] >= ver:
print("Ver_ok: ", el)
pass
else:
# Если версия новее
print("Ver_new: ", el)
client(port, f"get_{el}")
found = True
break # Если нашли - выходим
if not found:
print("Not_found: ", el)
http_port = client(port, f"is_{el}")
client(http_port, f"get_{el}")
except:
pass
break
sleep(5)
except Exception as e:
print("UPDATER FALLED")
logging.critical(e, exc_info=True)

Loading…
Cancel
Save