8f016f25df
- 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
46 lines
1.5 KiB
Python
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"]
|