feat(config): 添加配置管理和MQTT模拟服务功能
- 实现了应用配置的数据类结构(MqttConfig, TmsConfig, AppConfig) - 创建了配置加载和解析功能,支持从YAML文件读取配置 - 添加了TDengine数据库配置和连接池管理 - 实现了MQTT客户端依赖注入和服务构建 - 创建了钻孔实时数据的ORM映射和SQL构建功能 - 实现了TDengine Writer用于数据写入超级表 - 添加了MQTT模拟服务,支持发布、订阅和数据转发功能 - 创建了随机数据发送器用于测试 - 实现了消息持久化到本地文件功能 - 配置了数据库连接池和SQL执行功能
This commit is contained in:
41
config/dependencies.py
Normal file
41
config/dependencies.py
Normal file
@@ -0,0 +1,41 @@
|
||||
from dataclasses import dataclass
|
||||
|
||||
from config import load_app_config
|
||||
from db import TDengineWriter, load_tdengine_config
|
||||
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class SenderDependencies:
|
||||
config: object
|
||||
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class SubscriberDependencies:
|
||||
config: object
|
||||
|
||||
|
||||
@dataclass(frozen=True)
|
||||
class MockDependencies:
|
||||
config: object
|
||||
tdengine_config: object
|
||||
tdengine_writer: object
|
||||
data_file: str
|
||||
|
||||
|
||||
def build_sender_dependencies(config_path):
|
||||
return SenderDependencies(config=load_app_config(config_path))
|
||||
|
||||
|
||||
def build_subscriber_dependencies(config_path):
|
||||
return SubscriberDependencies(config=load_app_config(config_path))
|
||||
|
||||
|
||||
def build_mock_dependencies(config_path, data_file_override=""):
|
||||
app_config = load_app_config(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