48 lines
1.5 KiB
Python
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},]
|