fix: Xvfb 管道挂死根因修复 + 日报窗口 mtime 兜底 + 翻译切换 dashscope
- domestic_crawl_8g.sh: Xvfb 启动脱离管道 fd(</dev/null + 重定向日志 + disown)。 修复 2026-09-06 事故:Xvfb 常驻进程继承 'bash crawl | tee' 管道写端, tee 永远收不到 EOF → domestic_full.sh 卡死 M1 → 日报永不生成 - scheduler/reporter.py: _load_events_window 对 'publish_time 过期' 的文件 增加 mtime 兜底(本次窗口内新翻译的事件不被低质量 publish_time 误伤)。 修复空日报:date-only/美式日期错位的 publish_time 使窗口 articles=0 - configs/system.yaml: M4 翻译 provider 切换 deepseek → dashscope(qwen3.7-flash), 降低翻译成本(输出单价约降 ~9 倍);daily_report 保持 deepseek 不变
This commit is contained in:
@@ -9,7 +9,7 @@
|
||||
#
|
||||
# 前置条件:
|
||||
# sudo apt install xvfb
|
||||
# Xvfb :99 -screen 0 1280x1024x24 & # 首次启动
|
||||
# Xvfb :99 -screen 0 1280x1024x24 </dev/null >> logs/xvfb.log 2>&1 & # 首次启动
|
||||
# HTTP 代理 127.0.0.1:3128 已运行(privoxy)
|
||||
#
|
||||
# 用法:
|
||||
@@ -40,9 +40,16 @@ if [ -f .env ]; then
|
||||
fi
|
||||
|
||||
# ── 启动 Xvfb(如果尚未运行)──
|
||||
# ⚠️ Xvfb 的 stdin/stdout/stderr 必须脱离本脚本的 fd 并重定向到日志文件:
|
||||
# 本脚本常被 `bash xx.sh | tee` 管道包裹调用(domestic_full.sh),而 Xvfb
|
||||
# 是常驻进程(设计为跨运行复用)。若它继承了管道写端,抓取脚本退出后
|
||||
# tee 仍永远收不到 EOF → domestic_full.sh 卡在 M1 → [2/2] 管道与日报
|
||||
# 永不执行(2026-09-06 早报缺失事故根因)。
|
||||
if ! pgrep -x "Xvfb" > /dev/null; then
|
||||
LOG "启动 Xvfb 虚拟显示器 :99 ..."
|
||||
Xvfb :99 -screen 0 1280x1024x24 -ac +extension RANDR &
|
||||
mkdir -p logs
|
||||
Xvfb :99 -screen 0 1280x1024x24 -ac +extension RANDR </dev/null >> logs/xvfb.log 2>&1 &
|
||||
disown 2>/dev/null || true
|
||||
sleep 1
|
||||
LOG "Xvfb 已启动 (PID: $(pgrep -x Xvfb))"
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user