INNER CODE UNIT · Python
monitor_snapshot
simonlin1212/vibe-astock · vr/app.py:281
def monitor_snapshot(watch: str = Query("")):
"""每日盯盘快照:持仓/自选/500亿大票异动/三板+/昨日成交前十 + 异动事件流。
后端常驻线程盘中 3 秒轮询(腾讯 L1 快照),本接口只读内存、毫秒级返回——前端可放心
3 秒轮询。watch 参数只筛选返回数据;名单通过 POST /api/monitor/watch 按页面独立注册,下一轮生效。
"""
codes = {c.strip() for c in watch.split(",") if c.strip()}
watchtower.ensure_started()
snap = watchtower.get_snapshot()
return {"data": {**snap, "watchlist": [r for r in snap.get("watchlist", []) if r.get("code") in codes]}}
class MonitorWatchInput(BaseModel):
client_id: str
codes: list[str]
@app.post("/api/monitor/watch")