[+] partially deploy summarizer as service

1. add views, schema for transform module;
  2. partially added injection of singleton
    instances, like Summarizer;
This commit is contained in:
Siarhei Siniak 2025-07-24 11:13:07 +03:00
parent 7355552366
commit 9bd3c3e45b
7 changed files with 50 additions and 4 deletions

@ -55,10 +55,14 @@ ruff: ruff_format_check ruff_check
compose_env: compose_env:
cat docker/postgresql/.env .env/postgresql.env > .env/postgresql.patched.env cat docker/postgresql/.env .env/postgresql.env > .env/postgresql.patched.env
cat docker/web/.env .env/web.env > .env/web.patched.env cat docker/web/.env .env/web.env > .env/web.patched.env
cat docker/web/summarizer.env .env/summarizer.env > .env/summarizer.patched.env
compose_build_web: compose_build_web:
$(COMPOSE) build web $(COMPOSE) build web
compose_build_summarizer:
$(COMPOSE) build summarizer
git-release: git-release:
mkdir -p releases/tar mkdir -p releases/tar
git archive \ git archive \

@ -40,11 +40,11 @@ RUN \
--break-system-packages \ --break-system-packages \
--no-index \ --no-index \
-f releases/whl \ -f releases/whl \
'online.fxreader.pr34.test_task_2025_06_30_v1==0.1' 'online.fxreader.pr34.test_task_2025_07_17_v2==0.1.1'
ENTRYPOINT ["tini", "--"] ENTRYPOINT ["tini", "--"]
CMD [ \ CMD [ \
"python3", \ "python3", \
"-m", \ "-m", \
"online.fxreader.pr34.test_task_2025_06_30_v1.async_api.app" \ "online.fxreader.pr34.test_task_2025_07_17_v2.async_api.fastapi" \
] ]

@ -0,0 +1 @@
FASTAPI_APPS=["online.fxreader.iot.test_task_2025_07_17_v2.transform.app"]

@ -6,7 +6,7 @@ from . import schema
router = fastapi.APIRouter() router = fastapi.APIRouter()
@router.post('payload') @router.post('payload')
def payload_create( async def payload_create(
list_1: Annotated[ list_1: Annotated[
list[str], list[str],
fastapi.Body(), fastapi.Body(),
@ -19,7 +19,7 @@ def payload_create(
raise NotImplementedError raise NotImplementedError
@router.get('payload/{paylaod_id}') @router.get('payload/{paylaod_id}')
def payload_read( async def payload_read(
payload_id: int, payload_id: int,
) -> schema.Payload: ) -> schema.Payload:
raise NotImplementedError raise NotImplementedError

@ -0,0 +1,16 @@
import fastapi
from typing import (Annotated, Any,)
from . import schema
router = fastapi.APIRouter()
@router.post('summarize')
def summarize(
data: Annotated[
list[str],
fastapi.Body(),
],
) -> schema.Payload:
raise NotImplementedError

@ -0,0 +1,4 @@
import pydantic
class Summary(pydantic.BaseModel):
data: list[str]

@ -0,0 +1,21 @@
import fastapi
from typing import (Annotated, Any,)
from . import schema
from .worker import Summarizer
router = fastapi.APIRouter()
@router.post('summarize')
async def summarize(
data: Annotated[
list[str],
fastapi.Body(),
],
summarizer: Summarizer
) -> schema.Summary:
return schema.Summary(
data=summarizer.summarize(
data,
)
)