chore: baseline — ORM migration + systemd deploy + MCP server + daily check
- ORM migration: models/ops 重构 - deploy: 标准化 systemd timer/service 部署体系 - MCP server: 5 个只读工具(任务/状态/数据集) - daily check: 数据一致性巡检 - watch: task_watch 后台监控 - kline_daily: 麦蕊优先,时间门禁15:00 - 删除: task_industry_sector, task_sector_features
This commit is contained in:
@@ -3,7 +3,6 @@
|
||||
基于本地 kline_stock 数据聚合:advancers / decliners / turnover / advance_ratio。"""
|
||||
from __future__ import annotations
|
||||
|
||||
from datetime import datetime
|
||||
from typing import Any
|
||||
|
||||
import numpy as np
|
||||
@@ -12,7 +11,7 @@ from sqlalchemy import text
|
||||
|
||||
from app.core.db import ops as db_ops
|
||||
from app.core.db.orm import engine as pg_engine
|
||||
from app.core.sync.base import SyncTask
|
||||
from app.core.sync.base import SyncTask, _effective_sync_end
|
||||
from app.core.utils.logging import get_logger
|
||||
|
||||
logger = get_logger("sync.market_regime")
|
||||
@@ -34,7 +33,16 @@ class SyncMarketRegime(SyncTask):
|
||||
dataset_id = "market_regime"
|
||||
|
||||
def _run(self, *, trigger_source: str = "manual", start: str = DEFAULT_START, **kwargs) -> dict[str, Any]:
|
||||
end = datetime.now().strftime("%Y-%m-%d")
|
||||
# 2026-07-12 修复: end 用 kline_stock 最大 trade_date,而不是 datetime.now()
|
||||
# 避免节假日/周末跑时把非交易日当 end,导致 SQL 条件不精确
|
||||
try:
|
||||
with pg_engine.connect() as conn:
|
||||
max_date = conn.execute(
|
||||
text("SELECT MAX(trade_date) FROM market_data.kline_stock")
|
||||
).scalar()
|
||||
end = str(max_date) if max_date else _effective_sync_end()
|
||||
except Exception:
|
||||
end = _effective_sync_end()
|
||||
self._progress(message=f"构建 market_regime {start} ~ {end}...")
|
||||
|
||||
# 1. 取所有非退市股票代码
|
||||
|
||||
Reference in New Issue
Block a user