在准备环境前提交次全部更改。

This commit is contained in:
Neo
2026-02-19 08:35:13 +08:00
parent ded6dfb9d8
commit 4eac07da47
1387 changed files with 6107191 additions and 33002 deletions

View File

@@ -0,0 +1,73 @@
# -*- coding: utf-8 -*-
"""任务配置 Pydantic 模型
定义 TaskConfigSchema 及相关模型,用于前后端传输和 CLIBuilder 消费。
"""
from typing import Any
from pydantic import BaseModel, model_validator
class TaskConfigSchema(BaseModel):
"""任务配置 — 前后端传输格式
字段与 CLI 参数的映射关系:
- pipeline → --pipelineFlow ID7 种之一)
- processing_mode → --processing-mode3 种处理模式)
- tasks → --tasks逗号分隔
- dry_run → --dry-run布尔标志
- window_mode → 决定使用 lookback 还是 custom 时间窗口(仅前端逻辑,不直接映射 CLI 参数)
- window_start → --window-start
- window_end → --window-end
- window_split → --window-split
- window_split_days → --window-split-days
- lookback_hours → --lookback-hours
- overlap_seconds → --overlap-seconds
- fetch_before_verify → --fetch-before-verify布尔标志
- store_id → --store-id由后端从 JWT 注入,前端不传)
- dwd_only_tables → 传入 extra_args 或未来扩展
"""
tasks: list[str]
pipeline: str = "api_ods_dwd"
processing_mode: str = "increment_only"
dry_run: bool = False
window_mode: str = "lookback"
window_start: str | None = None
window_end: str | None = None
window_split: str | None = None
window_split_days: int | None = None
lookback_hours: int = 24
overlap_seconds: int = 600
fetch_before_verify: bool = False
skip_ods_when_fetch_before_verify: bool = False
ods_use_local_json: bool = False
store_id: int | None = None
dwd_only_tables: list[str] | None = None
force_full: bool = False
extra_args: dict[str, Any] = {}
@model_validator(mode="after")
def validate_window(self) -> "TaskConfigSchema":
"""验证时间窗口:结束日期不早于开始日期"""
if self.window_start and self.window_end:
if self.window_end < self.window_start:
raise ValueError("window_end 不能早于 window_start")
return self
class FlowDefinition(BaseModel):
"""执行流程Flow定义"""
id: str
name: str
layers: list[str]
class ProcessingModeDefinition(BaseModel):
"""处理模式定义"""
id: str
name: str
description: str