[+] fix summarizer created upon every request

1. Reuse single Annotated instance;
This commit is contained in:
Siarhei Siniak 2025-07-25 12:17:30 +03:00
parent 5568c458c2
commit c0866ee863
6 changed files with 15 additions and 9 deletions

@ -45,7 +45,7 @@ RUN \
--break-system-packages \ --break-system-packages \
--no-index \ --no-index \
-f releases/whl \ -f releases/whl \
'online.fxreader.pr34.test_task_2025_07_17_v2==0.1.8' 'online.fxreader.pr34.test_task_2025_07_17_v2==0.1.10'
ENTRYPOINT ["tini", "--"] ENTRYPOINT ["tini", "--"]
CMD [ \ CMD [ \

@ -9,7 +9,7 @@ classifiers = [
] ]
name = 'online.fxreader.pr34.test_task_2025_07_17_v2' name = 'online.fxreader.pr34.test_task_2025_07_17_v2'
version = '0.1.8' version = '0.1.10'
dependencies = [ dependencies = [
'alembic', 'alembic',

@ -11,9 +11,11 @@ async def create_summarizer(
) -> Summarizer: ) -> Summarizer:
return Summarizer() return Summarizer()
async def summarizer_dependency( AnnotatedSummarizer = Annotated[
summarizer: Annotated[
Summarizer, fastapi.Depends(create_summarizer) Summarizer, fastapi.Depends(create_summarizer)
] ]
async def summarizer_dependency(
summarizer: AnnotatedSummarizer
) -> None: ) -> None:
pass pass

@ -2,8 +2,8 @@ import fastapi
from typing import (Annotated, Any,) from typing import (Annotated, Any,)
from . import schema from . import schema
from .worker import Summarizer # from .worker import Summarizer
from .dependencies import create_summarizer from .dependencies import AnnotatedSummarizer
router = fastapi.APIRouter() router = fastapi.APIRouter()
@ -16,9 +16,7 @@ async def summarize(
schema.SummaryRequest, schema.SummaryRequest,
fastapi.Body(), fastapi.Body(),
], ],
summarizer: Annotated[ summarizer: AnnotatedSummarizer
Summarizer, fastapi.Depends(create_summarizer)
]
) -> schema.Summary: ) -> schema.Summary:
return schema.Summary( return schema.Summary(
data=summarizer.summarize( data=summarizer.summarize(