- 实现了应用配置的数据类结构(MqttConfig, TmsConfig, AppConfig) - 创建了配置加载和解析功能,支持从YAML文件读取配置 - 添加了TDengine数据库配置和连接池管理 - 实现了MQTT客户端依赖注入和服务构建 - 创建了钻孔实时数据的ORM映射和SQL构建功能 - 实现了TDengine Writer用于数据写入超级表 - 添加了MQTT模拟服务,支持发布、订阅和数据转发功能 - 创建了随机数据发送器用于测试 - 实现了消息持久化到本地文件功能 - 配置了数据库连接池和SQL执行功能
21 lines
690 B
Python
21 lines
690 B
Python
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)
|