feat(config): 添加配置管理和MQTT模拟服务功能
- 实现了应用配置的数据类结构(MqttConfig, TmsConfig, AppConfig) - 创建了配置加载和解析功能,支持从YAML文件读取配置 - 添加了TDengine数据库配置和连接池管理 - 实现了MQTT客户端依赖注入和服务构建 - 创建了钻孔实时数据的ORM映射和SQL构建功能 - 实现了TDengine Writer用于数据写入超级表 - 添加了MQTT模拟服务,支持发布、订阅和数据转发功能 - 创建了随机数据发送器用于测试 - 实现了消息持久化到本地文件功能 - 配置了数据库连接池和SQL执行功能
This commit is contained in:
20
db/writer.py
Normal file
20
db/writer.py
Normal file
@@ -0,0 +1,20 @@
|
||||
from db.orm import DrillingRealtimeORM
|
||||
from db.pool import create_taos_pool
|
||||
|
||||
|
||||
class TDengineWriter:
|
||||
def __init__(self, config, pool=None, orm=None):
|
||||
self.config = config
|
||||
self.pool = pool if pool is not None else create_taos_pool(config)
|
||||
self.orm = orm if orm is not None else DrillingRealtimeORM(
|
||||
config.database,
|
||||
stable=config.stable,
|
||||
default_device_code=config.device_code,
|
||||
)
|
||||
self.enabled = bool(config.enabled and self.pool)
|
||||
|
||||
def write_payload(self, payload):
|
||||
if not self.enabled:
|
||||
return None
|
||||
sql = self.orm.build_insert_sql(payload)
|
||||
return self.pool.execute(sql)
|
||||
Reference in New Issue
Block a user