[+] update service

1. adding initialization logging;
  2. try to fix no caching for requirements.txt;
This commit is contained in:
Siarhei Siniak 2025-07-25 11:35:12 +03:00
parent 520633f383
commit e82586e08c
6 changed files with 27 additions and 3 deletions

@ -41,6 +41,11 @@ services:
<<: *web <<: *web
image: online.fxreader.pr34.test_task_2025_07_17_v1:dev image: online.fxreader.pr34.test_task_2025_07_17_v1:dev
env_file: .env/summarizer.patched.env env_file: .env/summarizer.patched.env
deploy:
resources:
limits:
cpus: '4'
memory: 3068M
postgresql: postgresql:
image: docker.io/postgres:14.18-bookworm@sha256:c0aab7962b283cf24a0defa5d0d59777f5045a7be59905f21ba81a20b1a110c9 image: docker.io/postgres:14.18-bookworm@sha256:c0aab7962b283cf24a0defa5d0d59777f5045a7be59905f21ba81a20b1a110c9

@ -14,7 +14,8 @@ RUN \
RUN apt-get update -yy && apt-get install -yy tini RUN apt-get update -yy && apt-get install -yy tini
COPY *.txt . COPY requirements.txt .
COPY requirements.torch.txt .
RUN \ RUN \
# --mount=type=bind,source=releases/whl,target=/app/releases/whl \ # --mount=type=bind,source=releases/whl,target=/app/releases/whl \
@ -44,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.4' 'online.fxreader.pr34.test_task_2025_07_17_v2==0.1.5'
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.4' version = '0.1.5'
dependencies = [ dependencies = [
'alembic', 'alembic',

@ -1,5 +1,8 @@
import logging
import fastapi import fastapi
logger = logging.getLogger(__name__)
from . import views from . import views
from .worker import Summarizer from .worker import Summarizer
@ -17,6 +20,7 @@ async def summarizer_dependency(
pass pass
def get_app_router() -> fastapi.APIRouter: def get_app_router() -> fastapi.APIRouter:
logger.info(dict(msg='started'))
router = fastapi.APIRouter( router = fastapi.APIRouter(
dependencies=[ dependencies=[
fastapi.Depends(summarizer_dependency,) fastapi.Depends(summarizer_dependency,)
@ -28,4 +32,6 @@ def get_app_router() -> fastapi.APIRouter:
prefix='', prefix='',
) )
logger.info(dict(msg='done'))
return router return router

@ -1,5 +1,8 @@
import transformers import transformers
import transformers.pipelines import transformers.pipelines
import logging
logger = logging.getLogger(__name__)
from typing import ( from typing import (
Any, cast, Callable, Protocol, Literal, TypedDict, Any, cast, Callable, Protocol, Literal, TypedDict,
@ -26,6 +29,8 @@ class Pipeline(Protocol):
class Summarizer: class Summarizer:
def __init__(self) -> None: def __init__(self) -> None:
logger.info(dict(msg='started loading bart'))
self.tokenizer = cast( self.tokenizer = cast(
Callable[[str], Any], Callable[[str], Any],
getattr(transformers.AutoTokenizer, 'from_pretrained') getattr(transformers.AutoTokenizer, 'from_pretrained')
@ -39,6 +44,8 @@ class Summarizer:
'sshleifer/distilbart-cnn-12-6', 'sshleifer/distilbart-cnn-12-6',
) )
logger.info(dict(msg='done loading bart'))
self.summarizer = cast( self.summarizer = cast(
Pipeline, Pipeline,
# getattr(transformers.pipelines, 'pipeline') # getattr(transformers.pipelines, 'pipeline')
@ -50,6 +57,8 @@ class Summarizer:
# framework='pt', # framework='pt',
) )
logger.info(dict(msg='created pipeline'))
def summarize( def summarize(
self, self,
data: list[str] data: list[str]