Code/batch_ia/batch_runner.py
Fabrication du Numérique 5839098db6 Mise à jour et nettoyage
2025-05-25 21:18:38 +02:00

30 lines
908 B
Python

import time
import subprocess
from batch_utils import *
while True:
status = charger_status()
jobs = [(login, data) for login, data in status.items() if data["status"] == "en attente"]
jobs = sorted(jobs, key=lambda x: x[1].get("timestamp", 0))
for i, (login, data) in enumerate(jobs):
status[login]["position"] = i
if jobs:
login, _ = jobs[0]
dot_file = JOBS_DIR / f"{login}.dot"
result_file = JOBS_DIR / f"{login}.result.txt"
status[login]["status"] = "en cours"
sauvegarder_status(status)
try:
subprocess.run(["python3", "analyse_ia.py", str(dot_file), str(result_file)], check=True)
status[login]["status"] = "terminé"
except Exception as e:
status[login]["status"] = "échoué"
status[login]["error"] = str(e)
sauvegarder_status(status)
time.sleep(10)