Skip to content

Commit 8999602

Browse files
fix: task manager property
1 parent f8290e8 commit 8999602

File tree

3 files changed

+16
-8
lines changed

3 files changed

+16
-8
lines changed

packages/celery-library/tests/conftest.py

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
from pytest_simcore.helpers.monkeypatch_envs import setenvs_from_dict
2020
from pytest_simcore.helpers.typing_env import EnvVarsDict
2121
from servicelib.celery.app_server import BaseAppServer
22+
from servicelib.celery.task_manager import TaskManager
2223
from servicelib.redis import RedisClientSDK
2324
from settings_library.celery import CelerySettings
2425
from settings_library.redis import RedisDatabase, RedisSettings
@@ -38,7 +39,12 @@ class FakeAppServer(BaseAppServer):
3839
def __init__(self, app: Celery, settings: CelerySettings):
3940
super().__init__(app)
4041
self._settings = settings
41-
self.task_manager: CeleryTaskManager | None = None
42+
self._task_manager: CeleryTaskManager | None = None
43+
44+
@property
45+
def task_manager(self) -> TaskManager:
46+
assert self._task_manager, "Task manager is not initialized"
47+
return self._task_manager
4248

4349
async def lifespan(self, startup_completed_event: threading.Event) -> None:
4450
redis_client_sdk = RedisClientSDK(
@@ -49,7 +55,7 @@ async def lifespan(self, startup_completed_event: threading.Event) -> None:
4955
)
5056
await redis_client_sdk.setup()
5157

52-
self.task_manager = CeleryTaskManager(
58+
self._task_manager = CeleryTaskManager(
5359
self._app,
5460
self._settings,
5561
RedisTaskInfoStore(redis_client_sdk),
@@ -120,7 +126,6 @@ def celery_config() -> dict[str, Any]:
120126
async def with_celery_worker(
121127
celery_app: Celery,
122128
app_server: BaseAppServer,
123-
celery_settings: CelerySettings,
124129
register_celery_tasks: Callable[[Celery], None],
125130
) -> AsyncIterator[TestWorkController]:
126131
def _on_worker_init_wrapper(sender: WorkController, **_kwargs):
@@ -146,6 +151,7 @@ def _on_worker_init_wrapper(sender: WorkController, **_kwargs):
146151
async def celery_task_manager(
147152
celery_app: Celery,
148153
celery_settings: CelerySettings,
154+
mock_redis_socket_timeout: None,
149155
with_celery_worker: TestWorkController,
150156
) -> AsyncIterator[CeleryTaskManager]:
151157
register_celery_types()

packages/service-library/src/servicelib/celery/app_server.py

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -31,12 +31,9 @@ def shutdown_event(self) -> asyncio.Event:
3131
return self._shutdown_event
3232

3333
@property
34+
@abstractmethod
3435
def task_manager(self) -> TaskManager:
35-
return self._task_manager
36-
37-
@task_manager.setter
38-
def task_manager(self, manager: TaskManager) -> None:
39-
self._task_manager = manager
36+
raise NotImplementedError
4037

4138
@abstractmethod
4239
async def lifespan(

packages/service-library/src/servicelib/fastapi/celery/app_server.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55

66
from asgi_lifespan import LifespanManager
77
from fastapi import FastAPI
8+
from servicelib.celery.task_manager import TaskManager
89

910
from ...celery.app_server import BaseAppServer
1011

@@ -18,6 +19,10 @@ def __init__(self, app: FastAPI):
1819
super().__init__(app)
1920
self._lifespan_manager: LifespanManager | None = None
2021

22+
@property
23+
def task_manager(self) -> TaskManager:
24+
return self.app.state.task_manager
25+
2126
async def lifespan(self, startup_completed_event: threading.Event) -> None:
2227
async with LifespanManager(
2328
self.app,

0 commit comments

Comments
 (0)