MCPcopy Index your code
hub / github.com/modelscope/FunASR / MeetingWriter

Class MeetingWriter

runtime/python/websocket/funasr_wss_client.py:78–114  ·  view source on GitHub ↗

每个进程/meeting 单独写: - events.jsonl:收到的每条服务端消息(在线/离线/2pass) - meta.json:本次运行参数(方便复现)

Source from the content-addressed store, hash-verified

76
77
78class MeetingWriter:
79 """
80 每个进程/meeting 单独写:
81 - events.jsonl:收到的每条服务端消息(在线/离线/2pass)
82 - meta.json:本次运行参数(方便复现)
83 """
84 def __init__(self, log_dir: str, meeting_id: str, flush_every: int = 1):
85 self.meeting_id = str(meeting_id)
86 self.base = os.path.join(log_dir, f"meeting_{self.meeting_id}")
87 os.makedirs(self.base, exist_ok=True)
88
89 self.fp_events = open(os.path.join(self.base, "events.jsonl"), "a", encoding="utf-8")
90 self.flush_every = max(1, int(flush_every))
91 self._cnt = 0
92
93 meta_path = os.path.join(self.base, "meta.json")
94 if not os.path.exists(meta_path):
95 with open(meta_path, "w", encoding="utf-8") as f:
96 meta = {
97 "created_at": _iso(time.time()),
98 "meeting_id": self.meeting_id,
99 "args": vars(args),
100 }
101 f.write(json.dumps(meta, ensure_ascii=False, indent=2))
102
103 def write_event(self, obj: dict):
104 self.fp_events.write(json.dumps(obj, ensure_ascii=False) + "\n")
105 self._cnt += 1
106 if self._cnt % self.flush_every == 0:
107 self.fp_events.flush()
108
109 def close(self):
110 try:
111 self.fp_events.flush()
112 self.fp_events.close()
113 except Exception:
114 pass
115
116
117if args.output_dir is not None:

Callers 1

ws_clientFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…