initial commit:

This commit is contained in:
2026-06-10 21:05:51 -05:00
commit 7f09944bf5
7 changed files with 96 additions and 0 deletions

46
app.py Normal file
View File

@@ -0,0 +1,46 @@
import subprocess
import atexit
import sys
import time
trackedProcesses : list = []
def cleanup():
print("\n[MainServer] Cleaning up server processes")
for proc in trackedProcesses:
if proc.poll() is None:
print(f"[MainServer] Terming server subroutine {proc.pid}")
proc.terminate()
time.sleep(0.5)
for proc in trackedProcesses:
if proc.poll() is None:
print(f"[MainServer] Forcekilling leftover process {proc.pid}")
proc.kill()
atexit.register(cleanup)
def main():
try:
ns = subprocess.Popen([sys.executable, 'nameserver.py'])
trackedProcesses.append(ns)
api =subprocess.Popen([sys.executable, 'api.py'])
trackedProcesses.append(api)
auth =subprocess.Popen([sys.executable, 'auth.py'])
trackedProcesses.append(auth)
cdn =subprocess.Popen([sys.executable, 'cdn.py'])
trackedProcesses.append(cdn)
while True:
# make it run forever without doing anything (it should still output the individual servers outputs)
pass
except KeyboardInterrupt:
print("\n[MainServer] Server closing!")
finally:
sys.exit(0)
if __name__ == "__main__":
main()