feat(监控): 实时服务状态界面 - Oracle 新增 service_activity 活动表(只保留7天,写入时清理)与 /api/oracle/activity 接口(队列实时状态/当前处理视频/模型调用/rclone/人物合并/最近50条活动);VideoQueue 打点+当前处理跟踪+status();PersonService 打点;rclone_sync.sh 同步结果写活动表;fam-ui 新增'🖥 服务状态'页(状态卡+活动时间流,直连 Oracle 实时拉取)

This commit is contained in:
ericwyuan
2026-08-21 15:52:36 +08:00
parent da7631976d
commit 0d0a7f6ef8
7 changed files with 311 additions and 9 deletions

View File

@@ -1,5 +1,5 @@
"""
state - 进程内共享单例OracleDB 实例)
state - 进程内共享单例OracleDB / VideoQueue 实例)
video_queue / person_service / api_gateway 都通过 get_db() 访问同一个 SQLite 连接,
避免重复打开与循环 import。
@@ -8,6 +8,7 @@ from . import oracle_db
from .config_loader import load_config
_db = None
_queue = None
def get_db() -> oracle_db.OracleDB:
@@ -17,3 +18,13 @@ def get_db() -> oracle_db.OracleDB:
path = cfg.get('oracle_db', {}).get('path', '/opt/fam-edge/data/oracle.db')
_db = oracle_db.OracleDB(path)
return _db
def set_queue(q):
"""注册 VideoQueue 实例app 启动时调用api_gateway 读取实时状态)。"""
global _queue
_queue = q
def get_queue():
return _queue