Utilisation =========== Ingérer une nouvelle acquisition ---------------------------------- 1. Connecter le SSD GoPro à z620 (ou s'assurer que les MP4 sont dans ``/mnt/portablessd``). 2. Lancer l'ingest depuis core : .. code-block:: bash ssh floppyrj45@192.168.0.82 cd /home/floppyrj45/docker/cosma-qc python3 scripts/ingest.py --path /mnt/portablessd/AUV009/ 3. Vérifier les jobs créés : .. code-block:: bash python3 -c " import sqlite3 conn = sqlite3.connect('cosma-qc.db') for row in conn.execute('SELECT id, auv, gopro, segment, status FROM jobs ORDER BY id'): print(row) conn.close() " 4. Le dispatcher prend automatiquement en charge les jobs en statut ``pending``. Surveiller les jobs -------------------- Dashboard web ^^^^^^^^^^^^^ Accéder au dashboard : http://192.168.0.82:3849 Il affiche en temps réel : - Statut de chaque job (pending / running / done / failed) - Worker assigné - Progression des frames - Liens vers les PLY et GLB Logs dispatcher ^^^^^^^^^^^^^^^ .. code-block:: bash # Logs temps réel sudo journalctl -u cosma-qc-dispatcher -f # Logs des 100 dernières lignes sudo journalctl -u cosma-qc-dispatcher -n 100 # Filtrer erreurs sudo journalctl -u cosma-qc-dispatcher | grep -i error Base de données ^^^^^^^^^^^^^^^ .. code-block:: bash # État global des jobs sqlite3 /home/floppyrj45/docker/cosma-qc/cosma-qc.db \ "SELECT id, auv, status, worker, updated_at FROM jobs ORDER BY id;" # Jobs en cours sqlite3 cosma-qc.db \ "SELECT id, auv, worker FROM jobs WHERE status='running';" # Jobs échoués sqlite3 cosma-qc.db \ "SELECT id, auv, status FROM jobs WHERE status='failed';" Visualiser un nuage de points PLY ----------------------------------- Sur le worker avec viewer Viser (lancé automatiquement pendant reconstruction) : .. code-block:: bash # Naviguer vers (remplacer ID par le numéro de job) http://192.168.0.84:8100 # pour job 0 http://192.168.0.84:8101 # pour job 1 # etc. Avec CloudCompare depuis un PC (si PLY téléchargé) : .. code-block:: bash # Copier le PLY vers PC scp floppyrj45@192.168.0.84:/cosma-qc-frames/job_ID/reconstruction.ply ./ # Ouvrir dans CloudCompare Télécharger un GLB ------------------- 1. Générer le GLB via l'API : .. code-block:: bash curl -X POST http://192.168.0.82:3849/jobs/ID/export_glb 2. Attendre la fin de la génération (peut prendre quelques minutes selon la taille du PLY). 3. Lancer le serveur HTTP sur le worker concerné : .. code-block:: bash ssh floppyrj45@192.168.0.84 \ "nohup python3 -m http.server 8300 --directory /cosma-qc-frames > /tmp/http8300.log 2>&1 &" 4. Télécharger : .. code-block:: bash wget http://192.168.0.84:8300/job_ID/reconstruction.glb 5. Arrêter le serveur HTTP après téléchargement : .. code-block:: bash ssh floppyrj45@192.168.0.84 "pkill -f 'http.server 8300'" Relancer un job échoué ----------------------- .. code-block:: bash # Remettre un job en pending sqlite3 /home/floppyrj45/docker/cosma-qc/cosma-qc.db \ "UPDATE jobs SET status='pending', worker=NULL WHERE id=ID;" # Supprimer les marqueurs .done pour forcer ré-extraction complète ssh floppyrj45@192.168.0.84 \ "rm -f /cosma-qc-frames/job_ID/.video_*.done" # Redémarrer le dispatcher si nécessaire sudo systemctl restart cosma-qc-dispatcher Le dispatcher reprend le job au prochain cycle. Redémarrer le pipeline complet -------------------------------- .. code-block:: bash # Arrêter sudo systemctl stop cosma-qc-dispatcher docker compose -f /home/floppyrj45/docker/cosma-qc/docker-compose.yml down # Démarrer docker compose -f /home/floppyrj45/docker/cosma-qc/docker-compose.yml up -d sudo systemctl start cosma-qc-dispatcher Vérifications rapides post-mission ------------------------------------ .. code-block:: bash # 1. Tous les jobs done ? sqlite3 cosma-qc.db "SELECT COUNT(*) FROM jobs WHERE status != 'done';" # Doit retourner 0 # 2. Tous les PLY présents ? for id in $(sqlite3 cosma-qc.db "SELECT id FROM jobs WHERE status='done'"); do worker=$(sqlite3 cosma-qc.db "SELECT worker FROM jobs WHERE id=$id") ssh floppyrj45@$worker "ls -lh /cosma-qc-frames/job_${id}/reconstruction.ply" done # 3. Espace disque OK ? ssh floppyrj45@192.168.0.84 "df -h /cosma-qc-frames" ssh floppyrj45@192.168.0.87 "df -h /cosma-qc-frames"