From 514ab5050ad0f956fc669cccc99d489b6e479d42 Mon Sep 17 00:00:00 2001 From: Bulat Kurbanov Date: Tue, 19 Nov 2024 17:09:46 +0100 Subject: [PATCH] Updates for web_app --- scripts/start_web_app.sh | 3 +++ src/main.py | 4 ++++ src/modules/web_app/app.py | 17 ++++++++++++++++- 3 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 scripts/start_web_app.sh diff --git a/scripts/start_web_app.sh b/scripts/start_web_app.sh new file mode 100644 index 0000000..2af8564 --- /dev/null +++ b/scripts/start_web_app.sh @@ -0,0 +1,3 @@ +#! /usr/bin/env sh + +/opt/venv/bin/uvicorn modules.web_app.app:app --host 0.0.0.0 --port 80 diff --git a/src/main.py b/src/main.py index 9f0a027..5347d13 100644 --- a/src/main.py +++ b/src/main.py @@ -6,6 +6,7 @@ from modules.stream_notifications import start as start_stream_notifications_mod from core.mongo import mongo_manager from core.redis import redis_manager +from core.broker import broker logging.basicConfig(level=logging.INFO) @@ -25,6 +26,9 @@ async def main(): await mongo_manager.init() await redis_manager.init() + if not broker.is_worker_process: + await broker.startup() + if module == "games_list": await start_games_list_module() elif module == "stream_notifications": diff --git a/src/modules/web_app/app.py b/src/modules/web_app/app.py index 1593e6e..c99201b 100644 --- a/src/modules/web_app/app.py +++ b/src/modules/web_app/app.py @@ -1,12 +1,27 @@ from fastapi import FastAPI +from core.mongo import mongo_manager +from core.redis import redis_manager +from core.broker import broker + from .views import routes -async def get_app() -> FastAPI: +def get_app() -> FastAPI: app = FastAPI() for route in routes: app.include_router(route) + @app.on_event("startup") + async def startup_event(): + await mongo_manager.init() + await redis_manager.init() + + if not broker.is_worker_process: + await broker.startup() + return app + + +app = get_app()