@@ -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