Skip to content

Commit 33a2ae4

Browse files
committed
use app-name in storage when specifying client_name in AsyncJobFilter
1 parent 6389fda commit 33a2ae4

File tree

1 file changed

+12
-15
lines changed
  • services/storage/src/simcore_service_storage/api/rest

1 file changed

+12
-15
lines changed

services/storage/src/simcore_service_storage/api/rest/_files.py

Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
from urllib.parse import quote
44

55
from fastapi import APIRouter, Depends, Header, Request
6-
from models_library.api_schemas_rpc_async_jobs.async_jobs import AsyncJobFilter
76
from models_library.api_schemas_storage.storage_schemas import (
87
FileMetaDataGet,
98
FileMetaDataGetv010,
@@ -18,13 +17,15 @@
1817
)
1918
from models_library.generics import Envelope
2019
from models_library.projects_nodes_io import LocationID, StorageFileID
20+
from models_library.users import UserID
2121
from pydantic import AnyUrl, ByteSize, TypeAdapter
2222
from servicelib.aiohttp import status
2323
from servicelib.celery.models import TaskFilter, TaskMetadata, TaskUUID
2424
from servicelib.celery.task_manager import TaskManager
2525
from servicelib.logging_utils import log_context
2626
from yarl import URL
2727

28+
from ..._meta import APP_NAME
2829
from ...dsm import get_dsm_provider
2930
from ...exceptions.errors import FileMetaDataNotFoundError
3031
from ...models import (
@@ -41,7 +42,13 @@
4142
from .._worker_tasks._files import complete_upload_file as remote_complete_upload_file
4243
from .dependencies.celery import get_task_manager
4344

44-
_ASYNC_JOB_CLIENT_NAME: Final[str] = "storage"
45+
46+
def _get_task_filter(*, user_id: UserID) -> TaskFilter:
47+
_data = {
48+
"user_id": user_id,
49+
"client_name": APP_NAME,
50+
}
51+
return TaskFilter().model_validate(_data)
4552

4653

4754
_logger = logging.getLogger(__name__)
@@ -287,18 +294,13 @@ async def complete_upload_file(
287294
# NOTE: completing a multipart upload on AWS can take up to several minutes
288295
# if it returns slow we return a 202 - Accepted, the client will have to check later
289296
# for completeness
290-
job_filter = AsyncJobFilter(
291-
user_id=query_params.user_id,
292-
product_name=_UNDEFINED_PRODUCT_NAME_FOR_WORKER_TASKS, # NOTE: I would need to change the API here
293-
client_name=_ASYNC_JOB_CLIENT_NAME,
294-
)
295-
task_filter = TaskFilter.model_validate(job_filter.model_dump())
297+
task_filter = _get_task_filter(user_id=query_params.user_id)
296298
task_uuid = await task_manager.submit_task(
297299
TaskMetadata(
298300
name=remote_complete_upload_file.__name__,
299301
),
300302
task_filter=task_filter,
301-
user_id=job_filter.user_id,
303+
user_id=query_params.user_id,
302304
location_id=location_id,
303305
file_id=file_id,
304306
body=body,
@@ -345,12 +347,7 @@ async def is_completed_upload_file(
345347
# therefore we wait a bit to see if it completes fast and return a 204
346348
# if it returns slow we return a 202 - Accepted, the client will have to check later
347349
# for completeness
348-
job_filter = AsyncJobFilter(
349-
user_id=query_params.user_id,
350-
product_name=_UNDEFINED_PRODUCT_NAME_FOR_WORKER_TASKS, # NOTE: I would need to change the API here
351-
client_name=_ASYNC_JOB_CLIENT_NAME,
352-
)
353-
task_filter = TaskFilter.model_validate(job_filter.model_dump())
350+
task_filter = _get_task_filter(user_id=query_params.user_id)
354351
task_status = await task_manager.get_task_status(
355352
task_filter=task_filter, task_uuid=TaskUUID(future_id)
356353
)

0 commit comments

Comments
 (0)