Files
xiaozhi-esp32-server/app.py
T

34 lines
962 B
Python
Raw Normal View History

2025-02-02 23:01:14 +08:00
import asyncio
from config.logger import setup_logging
from config.settings import load_config
from core.server import WebSocketServer
from core.http_server import ConfigServer
2025-02-02 23:01:14 +08:00
async def main():
setup_logging() # 最先初始化日志
config = load_config()
# 启动 WebSocket 服务器
ws_server = WebSocketServer(config)
ws_task = asyncio.create_task(ws_server.start())
# 启动 HTTP 配置服务器
http_runner = None
if config['server'].get('http', {}).get('enabled', False):
config_server = ConfigServer(config)
try:
http_runner = await config_server.start()
except Exception as e:
print(f"Failed to start HTTP server: {e}")
try:
# 等待 WebSocket 服务器运行
await ws_task
finally:
# 清理 HTTP 服务器
if http_runner:
await http_runner.cleanup()
2025-02-02 23:01:14 +08:00
if __name__ == "__main__":
asyncio.run(main())