FEAT: CameraSupervisorActor — supervision déclarative des process FFmpeg (redémarrage backoff par caméra) #71
Labels
No labels
bug
chore
design
dx:ci
dx:database
dx:dotnet
dx:infra
dx:security
dx:tests
dx:ui
etape-1
etape-2
etape-3
etape-4
etape-5
etape-6
etape-7
feature
priority-high
priority-low
priority-medium
security
spec
tech-debt
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
nonobis/Heimdall#71
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Contexte
Proposition (issue de l'évaluation Akka.NET, ticket TECH lié) : remplacer la gestion try/catch impérative des process FFmpeg par une supervision parentale d'acteurs — l'idée la plus défendable du dossier. Un acteur parent par caméra avec un enfant FFmpegActor donne une politique de redémarrage déclarative (backoff, isolation des crashs par caméra) au lieu de la reconnexion manuelle actuelle.
Référence spec
Phase 15 (Agent Vidéo — capture + streaming). La spec exige la reconnexion automatique si crash FFmpeg.
État actuel
CameraStreamService.StartStreamAsync: lance FFmpeg, boucle de lecture,HasExitedvérifié avantKill(),WaitForExit(2000), reconnexion auto si crash — le tout impératif, dans le service.Comportement attendu (pilote optionnel, après validation du critère de bascule)
CameraSupervisorActor(1 par agent) →CameraStreamActor(1 par caméra) → supervision FFmpeg enfant.Critères d'acceptation
Fichiers concernés
src/Heimdall.Agent/Services/CameraStreamService.cssrc/Heimdall.Agent/Heimdall.Agent.csproj(Akka 1.5.70 + Akka.Hosting 1.5.70 — Apache-2.0)Liens
Abandonné — décision utilisateur : pas d'intégration Akka.NET (sans objet à ce stade).