[+] 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 \
|
||||
--no-index \
|
||||
-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", "--"]
|
||||
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'
|
||||
version = '0.1.10'
|
||||
version = '0.1.11'
|
||||
|
||||
dependencies = [
|
||||
'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:
|
||||
logger.info(dict(msg='started'))
|
||||
router = fastapi.APIRouter(
|
||||
dependencies=[
|
||||
fastapi.Depends(summarizer_dependency,)
|
||||
]
|
||||
# dependencies=[
|
||||
# fastapi.Depends(summarizer_dependency,)
|
||||
# ]
|
||||
)
|
||||
|
||||
router.include_router(
|
||||
|
@ -9,7 +9,8 @@ from typing import (Annotated,)
|
||||
|
||||
async def create_summarizer(
|
||||
) -> Summarizer:
|
||||
return Summarizer()
|
||||
# return Summarizer()
|
||||
return Summarizer.singleton()
|
||||
|
||||
AnnotatedSummarizer = Annotated[
|
||||
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 (
|
||||
Any, cast, Callable, Protocol, Literal, TypedDict,
|
||||
TypeAlias,
|
||||
TypeAlias, ClassVar, Optional,
|
||||
)
|
||||
|
||||
class SummarizerPipeline(Protocol):
|
||||
@ -69,3 +69,12 @@ class Summarizer:
|
||||
assert len(res) == 1
|
||||
|
||||
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