From af1706aa88b3a82260e8cc2881c36909efe86aa4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?St=C3=A9phan=20Peccini?= Date: Wed, 2 Jul 2025 17:44:13 +0200 Subject: [PATCH] =?UTF-8?q?fix(batch=5Fia)=20:=20mise=20=C3=A0=20jour=20po?= =?UTF-8?q?ur=20la=20partie=20publique=20et=20fonctionnement=20avec=20les?= =?UTF-8?q?=20traductions?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- batch_ia/batch-fabnum.service | 31 +++++++++++++++++++++++++++++++ batch_ia/batch_utils.py | 8 ++++++++ utils/__init__.py | 0 3 files changed, 39 insertions(+) create mode 100644 batch_ia/batch-fabnum.service create mode 100644 utils/__init__.py diff --git a/batch_ia/batch-fabnum.service b/batch_ia/batch-fabnum.service new file mode 100644 index 0000000..8960e71 --- /dev/null +++ b/batch_ia/batch-fabnum.service @@ -0,0 +1,31 @@ +[Unit] +Description=Service batch IA pour utilisateur fabnum +After=network.target + +[Service] +Type=simple +User=fabnum +WorkingDirectory=/home/fabnum/fabnum-public/batch_ia +Environment=PYTHONPATH=/home/fabnum/fabnum-public +ExecStart=/home/fabnum/fabnum-public/venv/bin/python /home/fabnum/fabnum-public/batch_ia/batch_runner.py +Restart=always +Nice=10 +CPUSchedulingPolicy=batch + +# Limites de ressources +CPUQuota=87.5% # ~14 cores sur 16 +MemoryMax=12G # RAM maximale autorisée +TasksMax=1 # maximum 1 subprocess/thread simultané + +# Sécurité renforcée +ProtectSystem=full +ReadWritePaths=/home/fabnum/fabnum-public/batch_ia + +# Journal propre +StandardOutput=journal +StandardError=journal + +[Install] +WantedBy=multi-user.target + +# semanage fcontext -a -t svirt_sandbox_file_t "/home/fabnum/fabnum-dev/batch_ia(/.*)?" diff --git a/batch_ia/batch_utils.py b/batch_ia/batch_utils.py index 730be61..09be3ea 100644 --- a/batch_ia/batch_utils.py +++ b/batch_ia/batch_utils.py @@ -3,6 +3,14 @@ import time from pathlib import Path from networkx.drawing.nx_agraph import write_dot import streamlit as st +import sys +import os + +current_file = os.path.realpath(__file__) +parent_dir = os.path.abspath(os.path.join(os.path.dirname(current_file), '..')) +if parent_dir not in sys.path: + sys.path.insert(0, parent_dir) + from utils.translations import _ BATCH_DIR = Path(__file__).resolve().parent diff --git a/utils/__init__.py b/utils/__init__.py new file mode 100644 index 0000000..e69de29