refactor(config): 重构配置模块并优化应用依赖注入
- 将配置相关类移动到model模块 - 实现依赖注入容器管理各组件依赖关系 - 重构配置加载逻辑支持多层级键值查找 - 更新主应用入口支持命令行参数解析 - 统一日志输出格式替换原有打印语句 - 引入钻井实时数据模型简化数据处理 - 移除硬编码字段映射改用动态配置方式 - 优化数据库写入逻辑基于新的数据模型
This commit is contained in:
51
config/dependencies.py
Normal file
51
config/dependencies.py
Normal file
@@ -0,0 +1,51 @@
|
||||
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,
|
||||
)
|
||||
Reference in New Issue
Block a user