#!/usr/bin/python3
import subprocess
import time
import signal
import sys
import os

SYMBOLS = ["$SPX", "$RUT", "QQQ", "SPY", "$XSP"]
PROCS = {}

LOG_DIR = "/var/www/html/logs"
os.makedirs(LOG_DIR, exist_ok=True)

def start_all():
    for sym in SYMBOLS:
        clean = sym.replace("$", "")
        log_path = f"{LOG_DIR}/pred_{clean}.log"
        print(f"▶️ Lanzando {sym} ...")
        p = subprocess.Popen(
            ["python3", "-u", "/var/www/html/process/getPredictions.py", sym],
            stdout=open(log_path, "a"),
            stderr=subprocess.STDOUT
        )

        PROCS[sym] = p
        time.sleep(0.5)

def stop_all():
    for sym, p in PROCS.items():
        print(f"🛑 Matando {sym} (PID {p.pid})")
        try:
            p.terminate()
        except:
            pass

    # matar cualquier leftover
    os.system("pkill -f getPredictions.py")

def main():
    print("🚀 Predictor Launcher iniciado.")
    start_all()
    try:
        while True:
            time.sleep(3)
    except KeyboardInterrupt:
        stop_all()

if __name__ == "__main__":
    main()
