Skip to content

Commit f941163

Browse files
add exception handling
1 parent 2e96147 commit f941163

File tree

1 file changed

+23
-5
lines changed
  • services/storage/src/simcore_service_storage/modules/celery/backends

1 file changed

+23
-5
lines changed

services/storage/src/simcore_service_storage/modules/celery/backends/_redis.py

Lines changed: 23 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -56,12 +56,30 @@ async def exists_task(self, task_id: TaskID) -> bool:
5656
return n > 0
5757

5858
async def get_task_metadata(self, task_id: TaskID) -> TaskMetadata | None:
59-
result = await self._redis_client_sdk.redis.hget(_build_key(task_id), _CELERY_TASK_METADATA_KEY) # type: ignore
60-
return TaskMetadata.model_validate_json(result) if result else None
59+
raw_result = await self._redis_client_sdk.redis.hget(_build_key(task_id), _CELERY_TASK_METADATA_KEY) # type: ignore
60+
if not raw_result:
61+
return None
62+
63+
try:
64+
return TaskMetadata.model_validate_json(raw_result)
65+
except ValidationError as exc:
66+
_logger.warning(
67+
"Failed to deserialize task metadata for task %s: %s", task_id, f"{exc}"
68+
)
69+
return None
6170

6271
async def get_task_progress(self, task_id: TaskID) -> ProgressReport | None:
63-
result = await self._redis_client_sdk.redis.hget(_build_key(task_id), _CELERY_TASK_PROGRESS_KEY) # type: ignore
64-
return ProgressReport.model_validate_json(result) if result else None
72+
raw_result = await self._redis_client_sdk.redis.hget(_build_key(task_id), _CELERY_TASK_PROGRESS_KEY) # type: ignore
73+
if not raw_result:
74+
return None
75+
76+
try:
77+
return ProgressReport.model_validate_json(raw_result)
78+
except ValidationError as exc:
79+
_logger.warning(
80+
"Failed to deserialize task progress for task %s: %s", task_id, f"{exc}"
81+
)
82+
return None
6583

6684
async def list_tasks(self, task_context: TaskContext) -> list[Task]:
6785
search_key = (
@@ -102,7 +120,7 @@ async def list_tasks(self, task_context: TaskContext) -> list[Task]:
102120
)
103121
except ValidationError as exc:
104122
_logger.debug(
105-
"Failed to deserialize task metadata for key %s: %s", key, str(exc)
123+
"Failed to deserialize task metadata for key %s: %s", key, f"{exc}"
106124
)
107125

108126
return tasks

0 commit comments

Comments
 (0)