UI_CVS_MIX/subsystems/test_ss2.py
2025-11-20 11:40:03 +08:00

48 lines
1.5 KiB
Python

import time
import random
from base_subsystem import BaseSubsystem
import database_manager
from sqlalchemy.orm import sessionmaker
class Test_SS2(BaseSubsystem):
def _startup(self):
"""启动时的初始化"""
self.name= "测试子系统2"
#self.logger.info(f"子系统 '{self.name}' 初始化...")
print(f"子系统 '{self.name}' 初始化...")
# 订阅感兴趣的消息主题
self.message_bus.subscribe(f"{self.name}.command", self._handle_command)
self.message_bus.subscribe("测试子系统1.status",self.test)
def _shutdown(self):
"""停止时的清理"""
self.logger.info(f"子系统 '{self.name}' 清理中...")
def process(self):
"""主要业务逻辑"""
# 模拟业务处理
time.sleep(3)
#self.logger.info(f"子系统 '{self.name}' 工作中...")
print(f"子系统 '{self.name}' 工作中...")
def test(self,message):
Session=sessionmaker(bind=self.db_manager.engine)
session=Session()
data=session.query(database_manager.Test_TB).filter_by(name="测试数据").first()
session.close()
print(message.payload)
#print(data.value)
def _handle_command(self, message):
"""处理来自其他子系统的命令"""
self.logger.info(f"收到命令: {message.payload}")
self._stats['processed_messages'] += 1
config=[{'class':Test_SS2,'name':"测试子系统2",'params':{},'autostart':True},]