Skip to content

Commit ec49166

Browse files
committed
moved to RPC interface
1 parent a437fb8 commit ec49166

File tree

3 files changed

+46
-12
lines changed
  • packages/service-library/src/servicelib/rabbitmq/rpc_interfaces/storage
  • services/web/server/src/simcore_service_webserver/storage

3 files changed

+46
-12
lines changed

packages/service-library/src/servicelib/rabbitmq/rpc_interfaces/storage/__init__.py

Whitespace-only changes.
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
from pathlib import Path
2+
3+
from models_library.api_schemas_rpc_async_jobs.async_jobs import (
4+
AsyncJobNameData,
5+
)
6+
from models_library.api_schemas_storage import STORAGE_RPC_NAMESPACE
7+
from models_library.api_schemas_webserver.storage import StorageAsyncJobGet
8+
from models_library.projects_nodes_io import LocationID
9+
from models_library.rabbitmq_basic_types import RPCMethodName
10+
from models_library.users import UserID
11+
12+
from ..._client_rpc import RabbitMQRPCClient
13+
from ..async_jobs.async_jobs import submit_job
14+
15+
16+
async def compute_path_size(
17+
client: RabbitMQRPCClient,
18+
*,
19+
user_id: UserID,
20+
product_name: str,
21+
location_id: LocationID,
22+
path: Path,
23+
) -> StorageAsyncJobGet:
24+
async_job_rpc_get = await submit_job(
25+
rabbitmq_rpc_client=client,
26+
rpc_namespace=STORAGE_RPC_NAMESPACE,
27+
method_name=RPCMethodName("compute_path_size"),
28+
job_id_data=AsyncJobNameData(user_id=user_id, product_name=product_name),
29+
location_id=location_id,
30+
path=path,
31+
)
32+
return StorageAsyncJobGet.from_rpc_schema(async_job_rpc_get)

services/web/server/src/simcore_service_webserver/storage/_rest.py

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,9 @@
4444
list_jobs,
4545
submit_job,
4646
)
47+
from servicelib.rabbitmq.rpc_interfaces.storage.paths import (
48+
compute_path_size as remote_compute_path_size,
49+
)
4750
from servicelib.request_keys import RQT_USERID_KEY
4851
from servicelib.rest_responses import unwrap_envelope
4952
from yarl import URL
@@ -181,23 +184,22 @@ async def list_paths(request: web.Request) -> web.Response:
181184
@login_required
182185
@permission_required("storage.files.*")
183186
async def compute_path_size(request: web.Request) -> web.Response:
184-
_req_ctx = RequestContext.model_validate(request)
185-
_path_params = parse_request_path_parameters_as(
187+
req_ctx = RequestContext.model_validate(request)
188+
path_params = parse_request_path_parameters_as(
186189
StoragePathComputeSizeParams, request
187190
)
191+
188192
rabbitmq_rpc_client = get_rabbitmq_rpc_client(request.app)
189-
async_job_rpc_get = await submit_job(
190-
rabbitmq_rpc_client=rabbitmq_rpc_client,
191-
rpc_namespace=STORAGE_RPC_NAMESPACE,
192-
method_name="compute_path_size",
193-
job_id_data=AsyncJobNameData(
194-
user_id=_req_ctx.user_id, product_name=_req_ctx.product_name
195-
),
196-
location_id=_path_params.location_id,
197-
path=_path_params.path,
193+
async_job = await remote_compute_path_size(
194+
rabbitmq_rpc_client,
195+
user_id=req_ctx.user_id,
196+
product_name=req_ctx.product_name,
197+
location_id=path_params.location_id,
198+
path=path_params.path,
198199
)
200+
199201
return create_data_response(
200-
StorageAsyncJobGet.from_rpc_schema(async_job_rpc_get),
202+
async_job,
201203
status=status.HTTP_202_ACCEPTED,
202204
)
203205

0 commit comments

Comments
 (0)