This commit is contained in:
parent
244d407937
commit
6d8fbdc748
14
meta_ui.py
14
meta_ui.py
|
|
@ -26,14 +26,20 @@ def log(msg): # 写终端 + 推队列
|
|||
print(msg, flush=True)
|
||||
LOG_Q.put(msg)
|
||||
|
||||
def consume_logs(dummy=None): # ✅ dummy 参数占位
|
||||
"""供 Timer 调用:更新全局 LOG_TXT 并返回最新内容"""
|
||||
global LOG_TXT
|
||||
prev_log_value = "" # 上一帧的日志内容
|
||||
|
||||
def consume_logs(dummy=None):
|
||||
"""每秒更新 log_box 内容,避免 chat 阻塞 UI 刷新"""
|
||||
global LOG_TXT, prev_log_value
|
||||
buf = deque(LOG_TXT.splitlines(), maxlen=400)
|
||||
while not LOG_Q.empty():
|
||||
buf.append(LOG_Q.get())
|
||||
LOG_TXT = "\n".join(buf)
|
||||
if LOG_TXT != prev_log_value:
|
||||
prev_log_value = LOG_TXT
|
||||
return gr.update(value=LOG_TXT)
|
||||
return gr.update() # 无更新则不触发前端刷新
|
||||
|
||||
|
||||
# ───────────────────── 后端调用 ─────────────────────
|
||||
def backend(text, sampling):
|
||||
|
|
@ -101,7 +107,7 @@ with gr.Blocks(title="调试界面") as demo:
|
|||
log_state= gr.State("") # 保存全部日志文本
|
||||
|
||||
# ────────────── 定时刷新日志 ──────────────
|
||||
timer = gr.Timer(1.0, render=False) # 每秒触发一次
|
||||
timer = gr.Timer(1.0, render=True) # ✅ 这是关键
|
||||
timer.tick( # ✅ 不依赖 log_state
|
||||
fn=consume_logs,
|
||||
inputs=[], # ✅ 空输入,避免绑定 UI 焦点
|
||||
|
|
|
|||
Loading…
Reference in New Issue