From 9a8e3344ac85f6b219e3748982540d167443ae02 Mon Sep 17 00:00:00 2001 From: hmo Date: Mon, 20 Jul 2026 23:53:03 +0800 Subject: [PATCH] =?UTF-8?q?restore:=20candidate=5Ffilter=20busy=5Ftimeout?= =?UTF-8?q?=20+=20premarket=20Step1.5=20=E6=91=98=E8=A6=81=E5=AD=97?= =?UTF-8?q?=E6=AE=B5=EF=BC=88=E7=9F=A5=E5=BE=AE17:31=20stale=E6=8F=90?= =?UTF-8?q?=E4=BA=A4=E5=9B=9E=E6=BB=9A=E6=81=A2=E5=A4=8D=E8=87=B37b26c373?= =?UTF-8?q?=E5=B7=B2=E9=AA=8C=E8=AF=81=E7=89=88=E6=9C=AC=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- deploy/profile-scripts/candidate_filter.py | 4 +++- deploy/profile-scripts/premarket_full_review.py | 10 ++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/deploy/profile-scripts/candidate_filter.py b/deploy/profile-scripts/candidate_filter.py index e33ab5b3..4a48c068 100644 --- a/deploy/profile-scripts/candidate_filter.py +++ b/deploy/profile-scripts/candidate_filter.py @@ -17,7 +17,9 @@ DB_PATH = Path("/home/hmo/MoFin/data/mofin.db") UA = "Mozilla/5.0" def get_conn(): - return sqlite3.connect(str(DB_PATH)) + c = sqlite3.connect(str(DB_PATH), timeout=30) + c.execute("PRAGMA busy_timeout=30000") + return c def log_candidate(conn, code, stage, passed, detail): """记录过滤日志""" diff --git a/deploy/profile-scripts/premarket_full_review.py b/deploy/profile-scripts/premarket_full_review.py index abf133df..0ac43c33 100644 --- a/deploy/profile-scripts/premarket_full_review.py +++ b/deploy/profile-scripts/premarket_full_review.py @@ -2,16 +2,17 @@ """premarket_full_review.py — 盘前全量重评 执行顺序: -1. regenerate_all() 全量技术分析重评(持仓+自选) -2. watchlist_auto_exit() 自选退出检查 -3. 输出摘要 +1. regenerate_all() 全量技术参数重评(持仓+自选) +2. batch_reassess.py --type holding --today 持仓12维LLM分析(每日强制刷新) +3. watchlist_auto_exit() 自选退出检查 +4. 输出摘要 调度:交易日 08:10(A股09:30开盘) """ import sys, os, json sys.path.insert(0, '/home/hmo/MoFin') -# Step 1: 全量重评 +# Step 1: 全量技术参数重评 print("=" * 50) print("📊 盘前全量重评开始") print("=" * 50) @@ -47,6 +48,7 @@ exited = auto_exit(dry_run=False) summary = { "premarket_at": __import__('datetime').datetime.now().isoformat(), "reassess": result, + "llm_analysis_12d": analysis_result, "auto_exit": [{"code": c, "name": n, "reason": r} for c, n, s, r in exited], "total_kept": result.get('total', 0) - len(exited), }