feat: 设备事件日志 + 在线/离线状态监控
- 新增 tb_device_log 表 (device_serial, device_ip, event_type, event_content, create_time) - dnt_info.state 扩展为 0=离线 1=在线 2=通信不良 - handle_count_off 收到 Count_Off 后写入 login 事件日志 - 新增 device_status_monitor 后台任务,每 5s 检测设备状态: - 3次交互间隔均<10s → 在线 - 1分钟内<4次交互 → 通信不良 - >1分钟无交互 → 离线 - 状态变化时同步写入 tb_device_log + dnt_info - 所有设备交互点 (心跳/TSReport/SerialNet/解析成功) 均记录 interaction 时间戳
This commit is contained in:
@@ -34,6 +34,7 @@ from src.handlers import (
|
||||
parse_loop,
|
||||
serialnet_loop,
|
||||
serialnet_response_loop,
|
||||
device_status_monitor,
|
||||
set_udp_sender,
|
||||
)
|
||||
|
||||
@@ -187,6 +188,7 @@ async def main():
|
||||
asyncio.create_task(parse_loop())
|
||||
asyncio.create_task(serialnet_loop())
|
||||
asyncio.create_task(serialnet_response_loop())
|
||||
asyncio.create_task(device_status_monitor())
|
||||
|
||||
loop = asyncio.get_running_loop()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user