sandbox/ivideon/puml/arch/AN_videoanalytics_new.puml
2026-02-13 17:36:23 +03:00

27 lines
775 B
Text

@startuml
actor User
participant "analytics_manager\n(balancer)" as Manager
participant "ANL Node\n(supervisor)" as Node
participant "Worker 1\n(camera 1)" as W1
participant "Worker 2\n(camera 2)" as W2
database MongoDB
User -> Manager: Enable fire_analytics for camera
Manager -> MongoDB: Find available ANL node
Manager -> Node: Assign camera to node
Node -> W1: spawn(mp.Process)
activate W1
W1 -> W1: Pull video stream
W1 -> W1: Process frames
W1 -> Manager: Send events via WebSocket
deactivate W1
Note over Node: Supervisor создает отдельный\nmultiprocessing воркер\nдля каждой камеры
Node -> Node: Check workers health
Node -> W2: spawn(mp.Process) for camera 2
activate W2
W2 -> W2: Process video stream
deactivate W2
@enduml