Files
market_sync/app/tasks/__init__.py
T
gao 8f016f25df 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
2026-07-21 16:37:00 +08:00

46 lines
1.5 KiB
Python

"""同步任务注册表。
所有 `SyncTask` 子类在此集中注册,外部通过 `get_task(dataset_id)` 或
遍历 `TASKS` 字典使用。
"""
from app.tasks.task_kline_5min import SyncKline5Min
from app.tasks.task_kline_daily import SyncKlineDaily
from app.tasks.task_kline_index import SyncKlineIndex
from app.tasks.task_longhubang import SyncLonghubang
from app.tasks.task_mairui_ma_daily import SyncMairuiMADaily
from app.tasks.task_mairui_indicators import SyncMairuiIndicators
from app.tasks.task_market_regime import SyncMarketRegime
from app.tasks.task_moneyflow import SyncMoneyflow
from app.tasks.task_share_snapshot import SyncShareSnapshot
from app.tasks.task_stock_node import SyncStockNode
from app.tasks.task_stocks_basic import SyncStocksBasic
from app.tasks.task_tick_trade import SyncTickTrade
TASKS: dict[str, type] = {
cls.dataset_id: cls
for cls in (
SyncStocksBasic,
SyncKlineDaily,
SyncKlineIndex,
SyncKline5Min,
SyncTickTrade,
SyncMoneyflow,
SyncShareSnapshot,
SyncMarketRegime,
SyncLonghubang,
SyncStockNode,
SyncMairuiMADaily,
SyncMairuiIndicators,
)
}
def get_task(dataset_id: str):
"""通过 dataset_id 取同步任务类实例,找不到抛 KeyError。"""
if dataset_id not in TASKS:
raise KeyError(f"未知的同步任务: {dataset_id!r},可选: {sorted(TASKS)}")
return TASKS[dataset_id]()
__all__ = ["TASKS", "get_task"]