Parse config.yaml into typed AppConfig dataclass
- ServerConfig, VideoConfig, ModelConfig, DeadBugConfig, AudioConfig, LoggingConfig as nested dataclasses - Consumers use config.server.host, config.model.resolved_path etc. - env var overrides preserved via _apply_env_overrides()
This commit is contained in:
+8
-7
@@ -1,10 +1,5 @@
|
||||
from __future__ import annotations
|
||||
|
||||
import os
|
||||
|
||||
os.environ["MEDIAPIPE_DISABLE_LOGGING"] = "1"
|
||||
os.environ["GLOG_minloglevel"] = "3"
|
||||
|
||||
import asyncio
|
||||
|
||||
from loguru import logger
|
||||
@@ -16,8 +11,14 @@ from app.signaling.websocket_server import main as serve
|
||||
def main():
|
||||
startup()
|
||||
logger.info("Starting server...")
|
||||
asyncio.run(serve())
|
||||
try:
|
||||
asyncio.run(serve())
|
||||
except (KeyboardInterrupt, SystemExit):
|
||||
logger.info("Server stopped by user")
|
||||
except Exception as e:
|
||||
logger.error(f"Server error: {e}")
|
||||
raise
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
main()
|
||||
Reference in New Issue
Block a user