chore: 重构前基线 — 9 个 sync task 全部 ok + akshare 移除 + mairui 资金流接入
状态: - 9 个 sync task(stock_basic / kline_daily / kline_index / kline_5min / moneyflow / industry_sector / sector_features / share_snapshot / market_regime) - 数据源:baostock + mairui + 雪球(pysnowball) + 新浪(4 个) - 项目级约束:永远不用 akshare(已落实) - kline_5min 改用 DB 快照统一全量/增量逻辑 - 零后端 Chrome 扩展 xueqiu_sync(独立项目)
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
"""同步任务注册表。
|
||||
|
||||
所有 `SyncTask` 子类在此集中注册,外部通过 `get_task(dataset_id)` 或
|
||||
遍历 `TASKS` 字典使用。
|
||||
"""
|
||||
from app.tasks.task_industry_sector import SyncIndustrySector
|
||||
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_market_regime import SyncMarketRegime
|
||||
from app.tasks.task_moneyflow import SyncMoneyflow
|
||||
from app.tasks.task_sector_features import SyncSectorFeatures
|
||||
from app.tasks.task_share_snapshot import SyncShareSnapshot
|
||||
from app.tasks.task_stocks_basic import SyncStocksBasic
|
||||
|
||||
TASKS: dict[str, type] = {
|
||||
cls.dataset_id: cls
|
||||
for cls in (
|
||||
SyncStocksBasic,
|
||||
SyncKlineDaily,
|
||||
SyncKlineIndex,
|
||||
SyncKline5Min,
|
||||
SyncMoneyflow,
|
||||
SyncIndustrySector,
|
||||
SyncSectorFeatures,
|
||||
SyncShareSnapshot,
|
||||
SyncMarketRegime,
|
||||
)
|
||||
}
|
||||
|
||||
|
||||
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"]
|
||||
Reference in New Issue
Block a user