v1.8.0: 🌙 静默期 - 舆情监控/持仓跟踪/定时报告三大自动化任务独立配置静默时段, 命中时段不发送邮件(多段/跨午夜, 日志标quiet, 水位照常推进不补发积压)

This commit is contained in:
2026-08-20 23:43:02 +08:00
parent 4da5e091a5
commit 9340577f7b
10 changed files with 196 additions and 32 deletions
+7 -2
View File
@@ -19,7 +19,8 @@ import threading
import time
from database import query, query_one, execute
from settings import tracking_config, tracking_state, set_tracking_state, mail_config
from settings import tracking_config, tracking_state, set_tracking_state, mail_config, \
quiet_config, in_quiet_period
from engine.chain_data import get_chain
from engine.indicators import compute_indicators
from rag.vector_store import query_vectors
@@ -287,10 +288,14 @@ def _first_heading(text):
def _notify_if_significant(rid, stock, meta):
"""影响度达阈值且开启通知 → 邮件(股票/概念通用)"""
"""影响度达阈值且开启通知 → 邮件(股票/概念通用)。静默期内抑制发送。"""
cfg = tracking_config()
try:
if cfg["notify"] and int(meta.get("impact_score", 0)) >= int(cfg["impact_threshold"]):
qc = quiet_config("tracking")
if qc["enabled"] and in_quiet_period(qc["ranges"]):
log.info("tracking notify suppressed by quiet period: %s", stock.get("name"))
return
from engine.notifier import send_email
mc = mail_config()
nc = meta.get("news_counts") or {}