UI_CVS_MIX/app.py
2025-11-20 12:07:15 +08:00

105 lines
2.4 KiB
Python

from contextlib import asynccontextmanager
from fastapi import FastAPI
import logging
import asyncio
from database_manager import get_db_manager
import threading
from message_bus import get_message_bus,Message
from work_flow_engine import get_work_flow_engine
from system_manager import get_system_manager
import atexit
import os
# 2355555444444445555666666
#region 报错信息
import traceback
def raise_error():
log(f"报错了:")
# 获取异常的堆栈信息
exception_traceback = traceback.format_exc()
log(exception_traceback,2)
#endregion
# 中间件
def test_middleware(message:Message):
print(message.topic)
@asynccontextmanager
async def lifespan(app: FastAPI):
# 启动时初始化系统管理器和子系统
# 数据库管理器
db_manager=get_db_manager()
db_manager.initialize()
# 消息总线(支持中间件)
message_bus = get_message_bus()
message_bus.add_middleware(test_middleware)
#work_flow_engine=get_work_flow_engine()
# 系统管理器(协调所有子系统)
=======
def test_middleware(message:Message):
print(message.topic)
#ASDADASDASDS
@asynccontextmanager
async def lifespan(app: FastAPI):
# 启动时初始化系统管理器和子系统
db_manager=get_db_manager()
db_manager.initialize()
message_bus = get_message_bus()
message_bus.add_middleware(test_middleware)
#work_flow_engine=get_work_flow_engine()
>>>>>>> 098f7c93c0c5acd5eecc6987133e1bf02989437a
system_manager= get_system_manager(db_manager, message_bus)
system_manager.register_subsystem_from_config()
system_manager.start()
#work_flow_engine.start()
<<<<<<< HEAD
yield # 应用运行期间
=======
yield
>>>>>>> 098f7c93c0c5acd5eecc6987133e1bf02989437a
# 关闭时停止所有子系统
system_manager.stop()
#db_manager.close()
app = FastAPI(
title="系统管理器 API",
description="HY02自动测试系统",
version="1.0.0"
)
app.router.lifespan_context = lifespan
@app.get('/test')
async def test():
return "test successful"
@app.get('/api/interface_get')
async def interface_test():
return "请求设备接口"
if __name__ == '__main__':
import uvicorn
<<<<<<< HEAD
uvicorn.run(app, host='127.0.0.1', port=5000)
=======
uvicorn.run(app, host='0.0.0.0', port=5000)
>>>>>>> 098f7c93c0c5acd5eecc6987133e1bf02989437a