[+] fix singleton for summarizer
1. use explicit singleton class variable for Summarizer, instead of relying on fastapi Depends caching;
This commit is contained in:
parent
c0866ee863
commit
468eac45a2
@ -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.10'
|
'online.fxreader.pr34.test_task_2025_07_17_v2==0.1.11'
|
||||||
|
|
||||||
ENTRYPOINT ["tini", "--"]
|
ENTRYPOINT ["tini", "--"]
|
||||||
CMD [ \
|
CMD [ \
|
||||||
|
2
deps/test-task-2025-07-17-v2/pyproject.toml
vendored
2
deps/test-task-2025-07-17-v2/pyproject.toml
vendored
@ -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.10'
|
version = '0.1.11'
|
||||||
|
|
||||||
dependencies = [
|
dependencies = [
|
||||||
'alembic',
|
'alembic',
|
||||||
|
6
deps/test-task-2025-07-17-v2/python/online/fxreader/pr34/test_task_2025_07_17_v2/transform/app.py
vendored
6
deps/test-task-2025-07-17-v2/python/online/fxreader/pr34/test_task_2025_07_17_v2/transform/app.py
vendored
@ -12,9 +12,9 @@ from typing import (Annotated,)
|
|||||||
def get_app_router() -> fastapi.APIRouter:
|
def get_app_router() -> fastapi.APIRouter:
|
||||||
logger.info(dict(msg='started'))
|
logger.info(dict(msg='started'))
|
||||||
router = fastapi.APIRouter(
|
router = fastapi.APIRouter(
|
||||||
dependencies=[
|
# dependencies=[
|
||||||
fastapi.Depends(summarizer_dependency,)
|
# fastapi.Depends(summarizer_dependency,)
|
||||||
]
|
# ]
|
||||||
)
|
)
|
||||||
|
|
||||||
router.include_router(
|
router.include_router(
|
||||||
|
@ -9,7 +9,8 @@ from typing import (Annotated,)
|
|||||||
|
|
||||||
async def create_summarizer(
|
async def create_summarizer(
|
||||||
) -> Summarizer:
|
) -> Summarizer:
|
||||||
return Summarizer()
|
# return Summarizer()
|
||||||
|
return Summarizer.singleton()
|
||||||
|
|
||||||
AnnotatedSummarizer = Annotated[
|
AnnotatedSummarizer = Annotated[
|
||||||
Summarizer, fastapi.Depends(create_summarizer)
|
Summarizer, fastapi.Depends(create_summarizer)
|
||||||
|
11
deps/test-task-2025-07-17-v2/python/online/fxreader/pr34/test_task_2025_07_17_v2/transform/worker.py
vendored
11
deps/test-task-2025-07-17-v2/python/online/fxreader/pr34/test_task_2025_07_17_v2/transform/worker.py
vendored
@ -6,7 +6,7 @@ logger = logging.getLogger(__name__)
|
|||||||
|
|
||||||
from typing import (
|
from typing import (
|
||||||
Any, cast, Callable, Protocol, Literal, TypedDict,
|
Any, cast, Callable, Protocol, Literal, TypedDict,
|
||||||
TypeAlias,
|
TypeAlias, ClassVar, Optional,
|
||||||
)
|
)
|
||||||
|
|
||||||
class SummarizerPipeline(Protocol):
|
class SummarizerPipeline(Protocol):
|
||||||
@ -69,3 +69,12 @@ class Summarizer:
|
|||||||
assert len(res) == 1
|
assert len(res) == 1
|
||||||
|
|
||||||
return res[0]['summary_text'].split()
|
return res[0]['summary_text'].split()
|
||||||
|
|
||||||
|
_singleton: ClassVar[Optional['Summarizer']] = None
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def singleton(cls) -> 'Summarizer':
|
||||||
|
if cls._singleton is None:
|
||||||
|
cls._singleton = Summarizer()
|
||||||
|
|
||||||
|
return cls._singleton
|
||||||
|
BIN
deps/test-task-2025-07-17-v2/releases/whl/online_fxreader_pr34_test_task_2025_07_17_v2-0.1.11-py3-none-any.whl
(Stored with Git LFS)
vendored
Normal file
BIN
deps/test-task-2025-07-17-v2/releases/whl/online_fxreader_pr34_test_task_2025_07_17_v2-0.1.11-py3-none-any.whl
(Stored with Git LFS)
vendored
Normal file
Binary file not shown.
Loading…
Reference in New Issue
Block a user