Files
tdEngine_mqtt_mock/config/dependencies.py
wsy182 d5d1cb0b7d feat(config): 添加配置管理和MQTT模拟服务功能
- 实现了应用配置的数据类结构(MqttConfig, TmsConfig, AppConfig)
- 创建了配置加载和解析功能,支持从YAML文件读取配置
- 添加了TDengine数据库配置和连接池管理
- 实现了MQTT客户端依赖注入和服务构建
- 创建了钻孔实时数据的ORM映射和SQL构建功能
- 实现了TDengine Writer用于数据写入超级表
- 添加了MQTT模拟服务,支持发布、订阅和数据转发功能
- 创建了随机数据发送器用于测试
- 实现了消息持久化到本地文件功能
- 配置了数据库连接池和SQL执行功能
2026-03-12 09:58:00 +08:00

42 lines
1.1 KiB
Python

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,
)