From 491d272304c2bc16b7bd98d02ba7ac606ba767a4 Mon Sep 17 00:00:00 2001 From: Siarhei Siniak Date: Fri, 25 Jul 2025 10:40:17 +0300 Subject: [PATCH] [+] add app component for transform 1. use FastAPI Depends to initialize Summarizer once for the whole transform app; --- .../test_task_2025_07_17_v2/transform/app.py | 31 +++++++++++++++++++ .../transform/views.py | 2 +- 2 files changed, 32 insertions(+), 1 deletion(-) diff --git a/deps/test-task-2025-07-17-v2/python/online/fxreader/pr34/test_task_2025_07_17_v2/transform/app.py b/deps/test-task-2025-07-17-v2/python/online/fxreader/pr34/test_task_2025_07_17_v2/transform/app.py index e69de29..8f6ec24 100644 --- a/deps/test-task-2025-07-17-v2/python/online/fxreader/pr34/test_task_2025_07_17_v2/transform/app.py +++ b/deps/test-task-2025-07-17-v2/python/online/fxreader/pr34/test_task_2025_07_17_v2/transform/app.py @@ -0,0 +1,31 @@ +import fastapi + +from . import views +from .worker import Summarizer + +from typing import (Annotated,) + +async def create_summarizer( +) -> Summarizer: + return Summarizer() + +async def summarizer_dependency( + summarizer: Annotated[ + Summarizer, fastapi.Depends(create_summarizer) + ] +) -> None: + pass + +def get_app_router() -> fastapi.APIRouter: + router = fastapi.APIRouter( + dependencies=[ + fastapi.Depends(summarizer_dependency,) + ] + ) + + router.include_router( + views.router, + prefix='', + ) + + return router diff --git a/deps/test-task-2025-07-17-v2/python/online/fxreader/pr34/test_task_2025_07_17_v2/transform/views.py b/deps/test-task-2025-07-17-v2/python/online/fxreader/pr34/test_task_2025_07_17_v2/transform/views.py index 35bd171..ef5c2e7 100644 --- a/deps/test-task-2025-07-17-v2/python/online/fxreader/pr34/test_task_2025_07_17_v2/transform/views.py +++ b/deps/test-task-2025-07-17-v2/python/online/fxreader/pr34/test_task_2025_07_17_v2/transform/views.py @@ -12,7 +12,7 @@ async def summarize( list[str], fastapi.Body(), ], - summarizer: Summarizer + summarizer: Summarizer, ) -> schema.Summary: return schema.Summary( data=summarizer.summarize(