Watchdog systemd + fix stabilité kiosk/backend
- Watchdog (30s) : vérifie backend, caméra, chromium, tue les orphelins, reboot auto après 10 échecs consécutifs (~5min sans service) - kiosk-session.sh : tue les backends orphelins au démarrage, trap EXIT pour cleanup quand le kiosk est tué - camera.py : force release USB avec timeout 2s quand connecter() échoue - main.py : uvicorn.run(app) au lieu de string pour éviter double import Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -97,11 +97,15 @@ class Camera:
|
||||
return True
|
||||
except Exception as e:
|
||||
log.warning(f"Pas de DSLR : {e}")
|
||||
if cam is not None and cam is not self.camera:
|
||||
try:
|
||||
cam.exit()
|
||||
except Exception:
|
||||
pass
|
||||
if cam is not None:
|
||||
def _force_release(c):
|
||||
try:
|
||||
c.exit()
|
||||
except Exception:
|
||||
pass
|
||||
t = threading.Thread(target=_force_release, args=(cam,), daemon=True)
|
||||
t.start()
|
||||
t.join(timeout=2.0)
|
||||
del cam
|
||||
self.camera = None
|
||||
|
||||
|
||||
Reference in New Issue
Block a user