mirror of
https://github.com/Justuser3310/jetwork.git
synced 2025-02-07 17:34:39 +00:00
Снова multiprocessing, добавление мнгновенной остановки без багов
This commit is contained in:
parent
9b64354728
commit
d6559d0e68
119
main.py
119
main.py
@ -1,71 +1,76 @@
|
|||||||
from os import system, name
|
from os import system, name
|
||||||
from threading import Thread
|
|
||||||
from time import sleep
|
from time import sleep
|
||||||
|
|
||||||
|
from threading import Thread
|
||||||
|
from multiprocessing import Process
|
||||||
|
|
||||||
from network import *
|
from network import *
|
||||||
from updater import *
|
from updater import *
|
||||||
|
from proxy import *
|
||||||
|
from status import *
|
||||||
|
|
||||||
# Здесь общий запуск всех файлов и команд
|
# Здесь общий запуск всех файлов и команд
|
||||||
|
|
||||||
|
|
||||||
# Проверка обновлений
|
|
||||||
from sys import argv
|
|
||||||
if len(argv) == 1:
|
|
||||||
print("Проверка обновлений...")
|
|
||||||
system("git pull")
|
|
||||||
print("Перезагрузка скрипта...")
|
|
||||||
system("python main.py updated")
|
|
||||||
exit()
|
|
||||||
print("\nУспешно перезагружено!")
|
|
||||||
|
|
||||||
|
def main():
|
||||||
from proxy import *
|
# Проверка обновлений
|
||||||
|
from sys import argv
|
||||||
http_port = port_gen()
|
if len(argv) == 1:
|
||||||
print(f"HTTP: {http_port}")
|
print("Проверка обновлений...")
|
||||||
rp_http = Thread(target = watch_http, args=(http_port,))
|
system("git pull")
|
||||||
rp_http.daemon = True
|
print("Перезагрузка скрипта...")
|
||||||
rp_http.start()
|
system("python main.py updated")
|
||||||
|
|
||||||
serv_port = port_gen()
|
|
||||||
print(f"SERV: {serv_port}")
|
|
||||||
rp_serv = Thread(target = watch_serv, args=(serv_port,))
|
|
||||||
rp_serv.daemon = True
|
|
||||||
rp_serv.start()
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Стартуем сервисы
|
|
||||||
#http сервер
|
|
||||||
http = Thread(target = server_http)
|
|
||||||
http.daemon = True
|
|
||||||
http.start()
|
|
||||||
# сервер для пинга
|
|
||||||
server = Thread(target = server, args=(http_port,))
|
|
||||||
server.daemon = True
|
|
||||||
server.start()
|
|
||||||
|
|
||||||
|
|
||||||
# Стартуем авто-поиск портов и авто-обновление сайтов
|
|
||||||
updater = Thread(target = update_demon, args=(serv_port,))
|
|
||||||
updater.daemon = True
|
|
||||||
updater.start()
|
|
||||||
|
|
||||||
# Стартуем интерфейс
|
|
||||||
system(f"python -m streamlit run --server.address=127.0.0.1 interface.py {serv_port}")
|
|
||||||
|
|
||||||
|
|
||||||
while True:
|
|
||||||
try:
|
|
||||||
pass
|
|
||||||
except:
|
|
||||||
exit()
|
exit()
|
||||||
|
print("\nУспешно перезагружено!")
|
||||||
|
|
||||||
#print(client(8000, "ping"))
|
# Запуск прокси для сервисов
|
||||||
#ports = port_check(serv_port)
|
# проксируем http сервер
|
||||||
#print(ports)
|
http_port = port_gen()
|
||||||
|
print(f"HTTP: {http_port}")
|
||||||
|
rp_http = Thread(target = watch_http, args=(http_port,))
|
||||||
|
rp_http.start()
|
||||||
|
|
||||||
#print(client(4015, "ping"))
|
# проксируем сервер обработки запросов
|
||||||
#print(client(4137, "is_just.jet"))
|
serv_port = port_gen()
|
||||||
|
print(f"SERV: {serv_port}")
|
||||||
|
rp_serv = Thread(target = watch_serv, args=(serv_port,))
|
||||||
|
rp_serv.start()
|
||||||
|
|
||||||
#client(4092, "publish_just.jet<>4066")
|
# Стартуем сервисы
|
||||||
|
# http сервер
|
||||||
|
http = Thread(target = server_http)
|
||||||
|
http.start()
|
||||||
|
# сервер обработки запросов
|
||||||
|
srv = Thread(target = server, args=(http_port,))
|
||||||
|
srv.start()
|
||||||
|
|
||||||
|
# Стартуем авто-поиск портов и авто-обновление сайтов
|
||||||
|
updater = Thread(target = update_demon, args=(serv_port,))
|
||||||
|
updater.start()
|
||||||
|
|
||||||
|
# !!! ИДЁТ ПЕРЕРАБОТКА !!!
|
||||||
|
# Стартуем интерфейс
|
||||||
|
#system(f"python -m streamlit run --server.address=127.0.0.1 interface.py {serv_port}")
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
# Запускаем главный процесс, чтобы потом легко убить его
|
||||||
|
p = Process(target=main)
|
||||||
|
p.start()
|
||||||
|
|
||||||
|
status_set(True) # Устанавливаем статус, что программа работает
|
||||||
|
|
||||||
|
st = status_check()
|
||||||
|
while st:
|
||||||
|
try:
|
||||||
|
st = status_check()
|
||||||
|
sleep(0.01)
|
||||||
|
except KeyboardInterrupt:
|
||||||
|
p.terminate()
|
||||||
|
exit()
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
|
||||||
|
# Когда послан код завершения
|
||||||
|
p.terminate()
|
||||||
|
exit()
|
||||||
|
26
status.py
Normal file
26
status.py
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
#
|
||||||
|
# Установка/проверка статуса завершения
|
||||||
|
#
|
||||||
|
|
||||||
|
import os
|
||||||
|
|
||||||
|
if not os.path.exists('status'):
|
||||||
|
f = open('status', 'w')
|
||||||
|
f.write('work')
|
||||||
|
f.close()
|
||||||
|
|
||||||
|
def status_check():
|
||||||
|
f = open('status', 'r')
|
||||||
|
st = f.read()
|
||||||
|
if st == 'work':
|
||||||
|
return True
|
||||||
|
else:
|
||||||
|
return False
|
||||||
|
|
||||||
|
def status_set(st):
|
||||||
|
f = open('status', 'w')
|
||||||
|
if st == True:
|
||||||
|
f.write('work')
|
||||||
|
else:
|
||||||
|
f.write('stop')
|
||||||
|
f.close()
|
Loading…
Reference in New Issue
Block a user