- 将配置相关类移动到model模块 - 实现依赖注入容器管理各组件依赖关系 - 重构配置加载逻辑支持多层级键值查找 - 更新主应用入口支持命令行参数解析 - 统一日志输出格式替换原有打印语句 - 引入钻井实时数据模型简化数据处理 - 移除硬编码字段映射改用动态配置方式 - 优化数据库写入逻辑基于新的数据模型
52 lines
1.3 KiB
Python
52 lines
1.3 KiB
Python
from dataclasses import dataclass
|
|
|
|
from config.config import load
|
|
from db import TDengineWriter, load_tdengine_config
|
|
from model import AppConfig
|
|
|
|
|
|
@dataclass(frozen=True)
|
|
class SenderDependencies:
|
|
config: AppConfig
|
|
|
|
|
|
@dataclass(frozen=True)
|
|
class SubscriberDependencies:
|
|
config: AppConfig
|
|
|
|
|
|
@dataclass(frozen=True)
|
|
class WitsSenderDependencies:
|
|
config: AppConfig
|
|
|
|
|
|
@dataclass(frozen=True)
|
|
class MockDependencies:
|
|
config: AppConfig
|
|
tdengine_config: object
|
|
tdengine_writer: object
|
|
data_file: str
|
|
|
|
|
|
def build_sender_dependencies(config_path):
|
|
return SenderDependencies(config=load(config_path))
|
|
|
|
|
|
def build_subscriber_dependencies(config_path):
|
|
return SubscriberDependencies(config=load(config_path))
|
|
|
|
|
|
def build_wits_sender_dependencies(config_path):
|
|
return WitsSenderDependencies(config=load(config_path))
|
|
|
|
|
|
def build_mock_dependencies(config_path, data_file_override=""):
|
|
app_config = load(config_path)
|
|
tdengine_config = load_tdengine_config(app_config, default_device_code=app_config.tms.device_code)
|
|
return MockDependencies(
|
|
config=app_config,
|
|
tdengine_config=tdengine_config,
|
|
tdengine_writer=TDengineWriter(tdengine_config),
|
|
data_file=data_file_override or app_config.mqtt.data_file,
|
|
)
|