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},]