Skip to content

Commit a9cc987

Browse files
author
Andrei Neagu
committed
replaced both namespaces with only a single one
1 parent 28f9e62 commit a9cc987

File tree

21 files changed

+73
-112
lines changed

21 files changed

+73
-112
lines changed

packages/service-library/src/servicelib/aiohttp/long_running_tasks/_server.py

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -21,12 +21,7 @@
2121
DEFAULT_STALE_TASK_CHECK_INTERVAL,
2222
DEFAULT_STALE_TASK_DETECT_TIMEOUT,
2323
)
24-
from ...long_running_tasks.models import (
25-
RabbitNamespace,
26-
RedisNamespace,
27-
TaskContext,
28-
TaskGet,
29-
)
24+
from ...long_running_tasks.models import LRTNamespace, TaskContext, TaskGet
3025
from ...long_running_tasks.task import RegisteredTaskName
3126
from ..typing_extension import Handler
3227
from . import _routes
@@ -152,9 +147,8 @@ def setup(
152147
*,
153148
router_prefix: str,
154149
redis_settings: RedisSettings,
155-
redis_namespace: RedisNamespace,
156150
rabbit_settings: RabbitSettings,
157-
rabbit_namespace: RabbitNamespace,
151+
lrt_namespace: LRTNamespace,
158152
handler_check_decorator: Callable = _no_ops_decorator,
159153
task_request_context_decorator: Callable = _no_task_context_decorator,
160154
stale_task_check_interval: datetime.timedelta = DEFAULT_STALE_TASK_CHECK_INTERVAL,
@@ -183,8 +177,7 @@ async def on_cleanup_ctx(app: web.Application) -> AsyncGenerator[None, None]:
183177
stale_task_detect_timeout=stale_task_detect_timeout,
184178
redis_settings=redis_settings,
185179
rabbit_settings=rabbit_settings,
186-
redis_namespace=redis_namespace,
187-
rabbit_namespace=rabbit_namespace,
180+
lrt_namespace=lrt_namespace,
188181
)
189182
)
190183

packages/service-library/src/servicelib/fastapi/long_running_tasks/_server.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
DEFAULT_STALE_TASK_DETECT_TIMEOUT,
1010
)
1111
from ...long_running_tasks.errors import BaseLongRunningError
12-
from ...long_running_tasks.models import RabbitNamespace, RedisNamespace
12+
from ...long_running_tasks.models import LRTNamespace
1313
from ._error_handlers import base_long_running_error_handler
1414
from ._manager import FastAPILongRunningManager
1515
from ._routes import router
@@ -20,9 +20,8 @@ def setup(
2020
*,
2121
router_prefix: str = "",
2222
redis_settings: RedisSettings,
23-
redis_namespace: RedisNamespace,
2423
rabbit_settings: RabbitSettings,
25-
rabbit_namespace: RabbitNamespace,
24+
lrt_namespace: LRTNamespace,
2625
stale_task_check_interval: datetime.timedelta = DEFAULT_STALE_TASK_CHECK_INTERVAL,
2726
stale_task_detect_timeout: datetime.timedelta = DEFAULT_STALE_TASK_DETECT_TIMEOUT,
2827
) -> None:
@@ -48,9 +47,8 @@ async def on_startup() -> None:
4847
stale_task_check_interval=stale_task_check_interval,
4948
stale_task_detect_timeout=stale_task_detect_timeout,
5049
redis_settings=redis_settings,
51-
redis_namespace=redis_namespace,
5250
rabbit_settings=rabbit_settings,
53-
rabbit_namespace=rabbit_namespace,
51+
lrt_namespace=lrt_namespace,
5452
)
5553
)
5654
await long_running_manager.setup()

packages/service-library/src/servicelib/long_running_tasks/_rabbit/lrt_client.py

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@
99
from ...long_running_tasks.task import RegisteredTaskName
1010
from ...rabbitmq._client_rpc import RabbitMQRPCClient
1111
from .._serialization import string_to_object
12-
from ..models import RabbitNamespace, TaskBase, TaskContext, TaskId, TaskStatus
12+
from ..models import LRTNamespace, TaskBase, TaskContext, TaskId, TaskStatus
1313
from ._models import RPCErrorResponse
14-
from .namespace import get_namespace
14+
from .namespace import get_rabbit_namespace
1515

1616
_logger = logging.getLogger(__name__)
1717

@@ -26,7 +26,7 @@
2626
@log_decorator(_logger, level=logging.DEBUG)
2727
async def start_task(
2828
rabbitmq_rpc_client: RabbitMQRPCClient,
29-
namespace: RabbitNamespace,
29+
namespace: LRTNamespace,
3030
*,
3131
registered_task_name: RegisteredTaskName,
3232
unique: bool = False,
@@ -36,7 +36,7 @@ async def start_task(
3636
**task_kwargs: Any,
3737
) -> TaskId:
3838
result = await rabbitmq_rpc_client.request(
39-
get_namespace(namespace),
39+
get_rabbit_namespace(namespace),
4040
TypeAdapter(RPCMethodName).validate_python("start_task"),
4141
registered_task_name=registered_task_name,
4242
unique=unique,
@@ -53,12 +53,12 @@ async def start_task(
5353
@log_decorator(_logger, level=logging.DEBUG)
5454
async def list_tasks(
5555
rabbitmq_rpc_client: RabbitMQRPCClient,
56-
namespace: RabbitNamespace,
56+
namespace: LRTNamespace,
5757
*,
5858
task_context: TaskContext,
5959
) -> list[TaskBase]:
6060
result = await rabbitmq_rpc_client.request(
61-
get_namespace(namespace),
61+
get_rabbit_namespace(namespace),
6262
TypeAdapter(RPCMethodName).validate_python("list_tasks"),
6363
task_context=task_context,
6464
timeout_s=_RPC_TIMEOUT_SHORT_REQUESTS,
@@ -69,13 +69,13 @@ async def list_tasks(
6969
@log_decorator(_logger, level=logging.DEBUG)
7070
async def get_task_status(
7171
rabbitmq_rpc_client: RabbitMQRPCClient,
72-
namespace: RabbitNamespace,
72+
namespace: LRTNamespace,
7373
*,
7474
task_context: TaskContext,
7575
task_id: TaskId,
7676
) -> TaskStatus:
7777
result = await rabbitmq_rpc_client.request(
78-
get_namespace(namespace),
78+
get_rabbit_namespace(namespace),
7979
TypeAdapter(RPCMethodName).validate_python("get_task_status"),
8080
task_context=task_context,
8181
task_id=task_id,
@@ -88,13 +88,13 @@ async def get_task_status(
8888
@log_decorator(_logger, level=logging.DEBUG)
8989
async def get_task_result(
9090
rabbitmq_rpc_client: RabbitMQRPCClient,
91-
namespace: RabbitNamespace,
91+
namespace: LRTNamespace,
9292
*,
9393
task_context: TaskContext,
9494
task_id: TaskId,
9595
) -> Any:
9696
serialized_result = await rabbitmq_rpc_client.request(
97-
get_namespace(namespace),
97+
get_rabbit_namespace(namespace),
9898
TypeAdapter(RPCMethodName).validate_python("get_task_result"),
9999
task_context=task_context,
100100
task_id=task_id,
@@ -117,14 +117,14 @@ async def get_task_result(
117117
@log_decorator(_logger, level=logging.DEBUG)
118118
async def remove_task(
119119
rabbitmq_rpc_client: RabbitMQRPCClient,
120-
namespace: RabbitNamespace,
120+
namespace: LRTNamespace,
121121
*,
122122
task_context: TaskContext,
123123
task_id: TaskId,
124124
reraise_errors: bool = True,
125125
) -> None:
126126
result = await rabbitmq_rpc_client.request(
127-
get_namespace(namespace),
127+
get_rabbit_namespace(namespace),
128128
TypeAdapter(RPCMethodName).validate_python("remove_task"),
129129
task_context=task_context,
130130
task_id=task_id,
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
from models_library.rabbitmq_basic_types import RPCNamespace
22
from pydantic import TypeAdapter
33

4-
from ..models import RabbitNamespace
4+
from ..models import LRTNamespace
55

66

7-
def get_namespace(namespace: RabbitNamespace) -> RPCNamespace:
7+
def get_rabbit_namespace(namespace: LRTNamespace) -> RPCNamespace:
88
return TypeAdapter(RPCNamespace).validate_python(f"lrt-{namespace}")

packages/service-library/src/servicelib/long_running_tasks/base_long_running_manager.py

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
from settings_library.redis import RedisSettings
55

66
from ..rabbitmq._client_rpc import RabbitMQRPCClient
7-
from ._rabbit.namespace import get_namespace
8-
from .models import RabbitNamespace, RedisNamespace
7+
from ._rabbit.namespace import get_rabbit_namespace
8+
from .models import LRTNamespace
99
from .task import TasksManager
1010

1111

@@ -20,16 +20,15 @@ def __init__(
2020
stale_task_detect_timeout: datetime.timedelta,
2121
redis_settings: RedisSettings,
2222
rabbit_settings: RabbitSettings,
23-
redis_namespace: RedisNamespace,
24-
rabbit_namespace: RabbitNamespace,
23+
lrt_namespace: LRTNamespace,
2524
):
2625
self._tasks_manager = TasksManager(
2726
stale_task_check_interval=stale_task_check_interval,
2827
stale_task_detect_timeout=stale_task_detect_timeout,
2928
redis_settings=redis_settings,
30-
redis_namespace=redis_namespace,
29+
lrt_namespace=lrt_namespace,
3130
)
32-
self._rabbit_namespace = rabbit_namespace
31+
self._lrt_namespace = lrt_namespace
3332
self.rabbit_settings = rabbit_settings
3433
self._rpc_server: RabbitMQRPCClient | None = None
3534
self._rpc_client: RabbitMQRPCClient | None = None
@@ -49,25 +48,25 @@ def rpc_client(self) -> RabbitMQRPCClient:
4948
return self._rpc_client
5049

5150
@property
52-
def rabbit_namespace(self) -> RabbitNamespace:
53-
return self._rabbit_namespace
51+
def lrt_namespace(self) -> LRTNamespace:
52+
return self._lrt_namespace
5453

5554
async def setup(self) -> None:
5655
await self._tasks_manager.setup()
5756
self._rpc_server = await RabbitMQRPCClient.create(
58-
client_name=f"lrt-server-{self.rabbit_namespace}",
57+
client_name=f"lrt-server-{self.lrt_namespace}",
5958
settings=self.rabbit_settings,
6059
)
6160
self._rpc_client = await RabbitMQRPCClient.create(
62-
client_name=f"lrt-client-{self.rabbit_namespace}",
61+
client_name=f"lrt-client-{self.lrt_namespace}",
6362
settings=self.rabbit_settings,
6463
)
6564

6665
from ._rabbit.lrt_server import router
6766

6867
await self.rpc_server.register_router(
6968
router,
70-
get_namespace(self.rabbit_namespace),
69+
get_rabbit_namespace(self.lrt_namespace),
7170
self,
7271
)
7372

packages/service-library/src/servicelib/long_running_tasks/lrt_api.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ async def start_task(
4545

4646
return await lrt_client.start_task(
4747
long_running_manager.rpc_client,
48-
long_running_manager.rabbit_namespace,
48+
long_running_manager.lrt_namespace,
4949
registered_task_name=registered_task_name,
5050
unique=unique,
5151
task_context=task_context,
@@ -62,7 +62,7 @@ async def list_tasks(
6262
) -> list[TaskBase]:
6363
return await lrt_client.list_tasks(
6464
rabbitmq_rpc_client,
65-
long_running_manager.rabbit_namespace,
65+
long_running_manager.lrt_namespace,
6666
task_context=task_context,
6767
)
6868

@@ -76,7 +76,7 @@ async def get_task_status(
7676
"""returns the status of a task"""
7777
return await lrt_client.get_task_status(
7878
rabbitmq_rpc_client,
79-
long_running_manager.rabbit_namespace,
79+
long_running_manager.lrt_namespace,
8080
task_id=task_id,
8181
task_context=task_context,
8282
)
@@ -90,7 +90,7 @@ async def get_task_result(
9090
) -> Any:
9191
return await lrt_client.get_task_result(
9292
rabbitmq_rpc_client,
93-
long_running_manager.rabbit_namespace,
93+
long_running_manager.lrt_namespace,
9494
task_context=task_context,
9595
task_id=task_id,
9696
)
@@ -105,7 +105,7 @@ async def remove_task(
105105
"""cancels and removes the task"""
106106
await lrt_client.remove_task(
107107
rabbitmq_rpc_client,
108-
long_running_manager.rabbit_namespace,
108+
long_running_manager.lrt_namespace,
109109
task_id=task_id,
110110
task_context=task_context,
111111
)

packages/service-library/src/servicelib/long_running_tasks/models.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,7 @@
2828
RequestBody: TypeAlias = Any
2929
TaskContext: TypeAlias = dict[str, Any]
3030

31-
RabbitNamespace: TypeAlias = str
32-
RedisNamespace: TypeAlias = str
31+
LRTNamespace: TypeAlias = str
3332

3433

3534
class ResultField(BaseModel):

packages/service-library/src/servicelib/long_running_tasks/task.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
TaskNotRegisteredError,
3535
)
3636
from .models import (
37-
RedisNamespace,
37+
LRTNamespace,
3838
ResultField,
3939
TaskBase,
4040
TaskContext,
@@ -119,17 +119,17 @@ def __init__(
119119
redis_settings: RedisSettings,
120120
stale_task_check_interval: datetime.timedelta,
121121
stale_task_detect_timeout: datetime.timedelta,
122-
redis_namespace: RedisNamespace,
122+
lrt_namespace: LRTNamespace,
123123
):
124124
# Task groups: Every taskname maps to multiple asyncio.Task within TrackedTask model
125-
self._tasks_data: BaseStore = RedisStore(redis_settings, redis_namespace)
125+
self._tasks_data: BaseStore = RedisStore(redis_settings, lrt_namespace)
126126
self._created_tasks: dict[TaskId, asyncio.Task] = {}
127127

128128
self.stale_task_check_interval = stale_task_check_interval
129129
self.stale_task_detect_timeout_s: PositiveFloat = (
130130
stale_task_detect_timeout.total_seconds()
131131
)
132-
self.redis_namespace = redis_namespace
132+
self.lrt_namespace = lrt_namespace
133133
self.redis_settings = redis_settings
134134

135135
self.locks_redis_client_sdk: RedisClientSDK | None = None
@@ -151,15 +151,15 @@ async def setup(self) -> None:
151151

152152
self.locks_redis_client_sdk = RedisClientSDK(
153153
self.redis_settings.build_redis_dsn(RedisDatabase.LOCKS),
154-
client_name=f"long_running_tasks_store_{self.redis_namespace}_lock",
154+
client_name=f"{__name__}_{self.lrt_namespace}_lock",
155155
)
156156
await self.locks_redis_client_sdk.setup()
157157

158158
# stale_tasks_monitor
159159
self._task_stale_tasks_monitor = create_periodic_task(
160160
task=exclusive(
161161
self.locks_redis_client_sdk,
162-
lock_key=f"{__name__}_{self.redis_namespace}_stale_tasks_monitor",
162+
lock_key=f"{__name__}_{self.lrt_namespace}_stale_tasks_monitor",
163163
)(self._stale_tasks_monitor),
164164
interval=self.stale_task_check_interval,
165165
task_name=f"{__name__}.{self._stale_tasks_monitor.__name__}",
@@ -437,8 +437,8 @@ async def remove_task(
437437
pass
438438

439439
def _get_task_id(self, task_name: str, *, is_unique: bool) -> TaskId:
440-
unique_part = "unique" if is_unique else f"{uuid4()}"
441-
return f"{self.redis_namespace}.{task_name}.{unique_part}"
440+
id_part = "unique" if is_unique else f"{uuid4()}"
441+
return f"{self.lrt_namespace}.{task_name}.{id_part}"
442442

443443
async def _update_progress(
444444
self,

packages/service-library/tests/aiohttp/long_running_tasks/test_long_running_tasks.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,9 +48,8 @@ def app(
4848
long_running_tasks.server.setup(
4949
app,
5050
redis_settings=use_in_memory_redis,
51-
redis_namespace="test",
5251
rabbit_settings=rabbit_service,
53-
rabbit_namespace="test",
52+
lrt_namespace="test",
5453
router_prefix="/futures",
5554
)
5655

packages/service-library/tests/aiohttp/long_running_tasks/test_long_running_tasks_client.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,8 @@ def app(
3737
long_running_tasks.server.setup(
3838
app,
3939
redis_settings=use_in_memory_redis,
40-
redis_namespace="test",
4140
rabbit_settings=rabbit_service,
42-
rabbit_namespace="test",
41+
lrt_namespace="test",
4342
router_prefix="/futures",
4443
)
4544

0 commit comments

Comments
 (0)