33800 Docs

← Retour

Proposition : Système de Pause AI-Orchestrator

Date : 24/01/2026 Status : IMPLEMENTEE Objectif : Permettre de mettre en pause le traitement des jobs IA pour libérer le GPU (jouer à un jeu)


Contexte

Le worker tourne en boucle continue (job_worker() ligne 2626) et traite les jobs dès qu'ils sont disponibles. L'utilisateur veut pouvoir :

  1. Mettre en pause → le worker arrête de prendre de nouveaux jobs
  2. Optionnel : arrêter les outils actifs pour libérer la VRAM
  3. Jouer tranquillement
  4. Reprendre → le worker recommence à traiter les jobs

Implémentation proposée

1. Nouvelle clé Redis pour l'état

WORKER_PAUSED_KEY = "ai:worker:paused"  # "true" ou absent

2. Nouveaux endpoints API

Endpoint Méthode Description
/api/worker/pause POST Met en pause le worker (optionnel: stop_tools=true)
/api/worker/resume POST Reprend le traitement
/api/worker/status GET Retourne l'état (running/paused)

Exemple pause :

curl -X POST "https://ai-orchestrator.33800.nowhere84.com/api/worker/pause?stop_tools=true"

Exemple resume :

curl -X POST "https://ai-orchestrator.33800.nowhere84.com/api/worker/resume"

3. Modification du worker loop

async def job_worker():
    while True:
        # Vérifier si en pause
        is_paused = await redis_client.get(WORKER_PAUSED_KEY)
        if is_paused == "true":
            await asyncio.sleep(5)  # Check toutes les 5s si on peut reprendre
            continue

        # ... reste du code existant ...

4. Comportement

Quand on pause :

Quand on resume :

5. Dashboard (optionnel)

Ajouter un bouton Pause/Resume sur la page ai-jobs.html :


Fichiers à modifier

Fichier Modification
ai-orchestrator/app/main.py Ajouter endpoints + modifier worker loop
monitoring/generate.d/20-ai-jobs.sh Ajouter bouton pause/resume (optionnel)

Estimation


Questions

  1. Arrêter les outils automatiquement quand on pause ? (recommandé pour libérer VRAM)
  2. Ajouter le bouton au dashboard ou juste l'API suffit ?

Attente validation avant implémentation.