77from redis .asyncio .connection import Connection
88from taskiq import AsyncResultBackend
99from taskiq .abc .serializer import TaskiqSerializer
10- from taskiq .compat import model_dump , model_validate
1110from taskiq .depends .progress_tracker import TaskProgress
1211from taskiq .result import TaskiqResult
1312from taskiq .serializers import PickleSerializer
@@ -107,7 +106,7 @@ async def set_result(
107106 :param result: TaskiqResult instance.
108107 """
109108 name = self ._task_name (task_id )
110- value = self .serializer .dumpb (model_dump (result ))
109+ value = self .serializer .dumpb (result . model_dump (mode = "json" ))
111110 async with Redis (connection_pool = self .redis_pool ) as redis :
112111 if self .result_ex_time :
113112 await redis .set (name = name , value = value , ex = self .result_ex_time )
@@ -154,8 +153,7 @@ async def get_result(
154153 if result_value is None :
155154 raise ResultIsMissingError
156155
157- taskiq_result = model_validate (
158- TaskiqResult [_ReturnType ],
156+ taskiq_result = TaskiqResult [_ReturnType ].model_validate (
159157 self .serializer .loadb (result_value ), # type: ignore[arg-type]
160158 )
161159
@@ -179,7 +177,7 @@ async def set_progress(
179177 :param result: task's TaskProgress instance.
180178 """
181179 name = self ._task_name (task_id ) + PROGRESS_KEY_SUFFIX
182- value = self .serializer .dumpb (model_dump (progress ))
180+ value = self .serializer .dumpb (progress . model_dump (mode = "json" ))
183181 async with Redis (connection_pool = self .redis_pool ) as redis :
184182 if self .result_ex_time :
185183 await redis .set (name = name , value = value , ex = self .result_ex_time )
@@ -206,8 +204,7 @@ async def get_progress(
206204 if result_value is None :
207205 return None
208206
209- return model_validate (
210- TaskProgress [_ReturnType ],
207+ return TaskProgress [_ReturnType ].model_validate (
211208 self .serializer .loadb (result_value ), # type: ignore[arg-type]
212209 )
213210
@@ -286,7 +283,7 @@ async def set_result(
286283 :param result: TaskiqResult instance.
287284 """
288285 name = self ._task_name (task_id )
289- value = self .serializer .dumpb (model_dump (result ))
286+ value = self .serializer .dumpb (result . model_dump (mode = "json" ))
290287 async with self .redis as redis :
291288 if self .result_ex_time :
292289 await redis .set (name = name , value = value , ex = self .result_ex_time )
@@ -331,8 +328,9 @@ async def get_result(
331328 if result_value is None :
332329 raise ResultIsMissingError
333330
334- taskiq_result : TaskiqResult [_ReturnType ] = model_validate (
335- TaskiqResult [_ReturnType ],
331+ taskiq_result : TaskiqResult [_ReturnType ] = TaskiqResult [
332+ _ReturnType
333+ ].model_validate (
336334 self .serializer .loadb (result_value ), # type: ignore[arg-type]
337335 )
338336
@@ -356,7 +354,7 @@ async def set_progress(
356354 :param result: task's TaskProgress instance.
357355 """
358356 name = self ._task_name (task_id ) + PROGRESS_KEY_SUFFIX
359- value = self .serializer .dumpb (model_dump (progress ))
357+ value = self .serializer .dumpb (progress . model_dump (mode = "json" ))
360358 async with self .redis as redis :
361359 if self .result_ex_time :
362360 await redis .set (name = name , value = value , ex = self .result_ex_time )
@@ -382,8 +380,7 @@ async def get_progress(
382380 if result_value is None :
383381 return None
384382
385- return model_validate (
386- TaskProgress [_ReturnType ],
383+ return TaskProgress [_ReturnType ].model_validate (
387384 self .serializer .loadb (result_value ), # type: ignore[arg-type]
388385 )
389386
@@ -470,7 +467,7 @@ async def set_result(
470467 :param result: TaskiqResult instance.
471468 """
472469 name = self ._task_name (task_id )
473- value = self .serializer .dumpb (model_dump (result ))
470+ value = self .serializer .dumpb (result . model_dump (mode = "json" ))
474471 async with self ._acquire_master_conn () as redis :
475472 if self .result_ex_time :
476473 await redis .set (name = name , value = value , ex = self .result_ex_time )
@@ -517,8 +514,7 @@ async def get_result(
517514 if result_value is None :
518515 raise ResultIsMissingError
519516
520- taskiq_result = model_validate (
521- TaskiqResult [_ReturnType ],
517+ taskiq_result = TaskiqResult [_ReturnType ].model_validate (
522518 self .serializer .loadb (result_value ), # type: ignore[arg-type]
523519 )
524520
@@ -542,7 +538,7 @@ async def set_progress(
542538 :param result: task's TaskProgress instance.
543539 """
544540 name = self ._task_name (task_id ) + PROGRESS_KEY_SUFFIX
545- value = self .serializer .dumpb (model_dump (progress ))
541+ value = self .serializer .dumpb (progress . model_dump (mode = "json" ))
546542 async with self ._acquire_master_conn () as redis :
547543 if self .result_ex_time :
548544 await redis .set (name = name , value = value , ex = self .result_ex_time )
@@ -569,8 +565,7 @@ async def get_progress(
569565 if result_value is None :
570566 return None
571567
572- return model_validate (
573- TaskProgress [_ReturnType ],
568+ return TaskProgress [_ReturnType ].model_validate (
574569 self .serializer .loadb (result_value ), # type: ignore[arg-type]
575570 )
576571
0 commit comments