fix(camera): resolve camera status display issue

This commit is contained in:
2026-01-21 16:06:39 +08:00
parent 294b0e1abb
commit 6712a311f8
3 changed files with 54 additions and 10 deletions

View File

@@ -323,20 +323,23 @@ class InferencePipeline:
print("推理pipeline已停止")
def get_status(self) -> Dict[str, Any]:
return {
result = {
"running": self.running,
"camera_count": len(self.camera_threads),
"cameras": {
cid: {
"running": self.camera_stop_events[cid] is not None and not self.camera_stop_events[cid].is_set(),
"fps": self.get_camera_fps(cid),
"frame_time": self.camera_frame_times.get(cid).isoformat() if self.camera_frame_times.get(cid) else None,
}
for cid in self.camera_threads
},
"cameras": {},
"event_queue_size": len(self.event_queue),
}
for cid in self.camera_threads:
frame_time = self.camera_frame_times.get(cid)
result["cameras"][str(cid)] = {
"is_running": self.camera_stop_events[cid] is not None and not self.camera_stop_events[cid].is_set(),
"fps": self.get_camera_fps(cid),
"last_check_time": frame_time.isoformat() if frame_time else None,
}
return result
_pipeline: Optional[InferencePipeline] = None