|
4 | 4 | TYPE_CHECKING, |
5 | 5 | Any, |
6 | 6 | AsyncIterator, |
7 | | - Dict, |
8 | 7 | List, |
9 | 8 | Optional, |
10 | 9 | Tuple, |
@@ -121,17 +120,15 @@ async def set_result( |
121 | 120 | :param task_id: ID of the task. |
122 | 121 | :param result: TaskiqResult instance. |
123 | 122 | """ |
124 | | - redis_set_params: Dict[str, Union[str, int, bytes]] = { |
125 | | - "name": self._task_name(task_id), |
126 | | - "value": self.serializer.dumpb(model_dump(result)), |
127 | | - } |
128 | | - if self.result_ex_time: |
129 | | - redis_set_params["ex"] = self.result_ex_time |
130 | | - elif self.result_px_time: |
131 | | - redis_set_params["px"] = self.result_px_time |
132 | | - |
| 123 | + name = self._task_name(task_id) |
| 124 | + value = self.serializer.dumpb(model_dump(result)) |
133 | 125 | async with Redis(connection_pool=self.redis_pool) as redis: |
134 | | - await redis.set(**redis_set_params) |
| 126 | + if self.result_ex_time: |
| 127 | + await redis.set(name=name, value=value, ex=self.result_ex_time) |
| 128 | + elif self.result_px_time: |
| 129 | + await redis.set(name=name, value=value, px=self.result_px_time) |
| 130 | + else: |
| 131 | + await redis.set(name=name, value=value) |
135 | 132 |
|
136 | 133 | async def is_result_ready(self, task_id: str) -> bool: |
137 | 134 | """ |
@@ -195,17 +192,15 @@ async def set_progress( |
195 | 192 | :param task_id: ID of the task. |
196 | 193 | :param result: task's TaskProgress instance. |
197 | 194 | """ |
198 | | - redis_set_params: Dict[str, Union[str, int, bytes]] = { |
199 | | - "name": self._task_name(task_id) + PROGRESS_KEY_SUFFIX, |
200 | | - "value": self.serializer.dumpb(model_dump(progress)), |
201 | | - } |
202 | | - if self.result_ex_time: |
203 | | - redis_set_params["ex"] = self.result_ex_time |
204 | | - elif self.result_px_time: |
205 | | - redis_set_params["px"] = self.result_px_time |
206 | | - |
| 195 | + name = self._task_name(task_id) + PROGRESS_KEY_SUFFIX |
| 196 | + value = self.serializer.dumpb(model_dump(progress)) |
207 | 197 | async with Redis(connection_pool=self.redis_pool) as redis: |
208 | | - await redis.set(**redis_set_params) |
| 198 | + if self.result_ex_time: |
| 199 | + await redis.set(name=name, value=value, ex=self.result_ex_time) |
| 200 | + elif self.result_px_time: |
| 201 | + await redis.set(name=name, value=value, px=self.result_px_time) |
| 202 | + else: |
| 203 | + await redis.set(name=name, value=value) |
209 | 204 |
|
210 | 205 | async def get_progress( |
211 | 206 | self, |
@@ -296,24 +291,23 @@ async def set_result( |
296 | 291 | result: TaskiqResult[_ReturnType], |
297 | 292 | ) -> None: |
298 | 293 | """ |
299 | | - Sets task result in redis. |
| 294 | + Sets task result in redis cluster. |
300 | 295 |
|
301 | 296 | Dumps TaskiqResult instance into the bytes and writes |
302 | | - it to redis. |
| 297 | + it to redis cluster. |
303 | 298 |
|
304 | 299 | :param task_id: ID of the task. |
305 | 300 | :param result: TaskiqResult instance. |
306 | 301 | """ |
307 | | - redis_set_params: Dict[str, Union[str, bytes, int]] = { |
308 | | - "name": self._task_name(task_id), |
309 | | - "value": self.serializer.dumpb(model_dump(result)), |
310 | | - } |
311 | | - if self.result_ex_time: |
312 | | - redis_set_params["ex"] = self.result_ex_time |
313 | | - elif self.result_px_time: |
314 | | - redis_set_params["px"] = self.result_px_time |
315 | | - |
316 | | - await self.redis.set(**redis_set_params) # type: ignore |
| 302 | + name = self._task_name(task_id) |
| 303 | + value = self.serializer.dumpb(model_dump(result)) |
| 304 | + async with self.redis as redis: |
| 305 | + if self.result_ex_time: |
| 306 | + await redis.set(name=name, value=value, ex=self.result_ex_time) |
| 307 | + elif self.result_px_time: |
| 308 | + await redis.set(name=name, value=value, px=self.result_px_time) |
| 309 | + else: |
| 310 | + await redis.set(name=name, value=value) |
317 | 311 |
|
318 | 312 | async def is_result_ready(self, task_id: str) -> bool: |
319 | 313 | """ |
@@ -367,24 +361,23 @@ async def set_progress( |
367 | 361 | progress: TaskProgress[_ReturnType], |
368 | 362 | ) -> None: |
369 | 363 | """ |
370 | | - Sets task progress in redis. |
| 364 | + Sets task progress in redis cluster. |
371 | 365 |
|
372 | 366 | Dumps TaskProgress instance into the bytes and writes |
373 | | - it to redis with a standard suffix on the task_id as the key |
| 367 | + it to redis cluster with a standard suffix on the task_id as the key |
374 | 368 |
|
375 | 369 | :param task_id: ID of the task. |
376 | 370 | :param result: task's TaskProgress instance. |
377 | 371 | """ |
378 | | - redis_set_params: Dict[str, Union[str, int, bytes]] = { |
379 | | - "name": self._task_name(task_id) + PROGRESS_KEY_SUFFIX, |
380 | | - "value": self.serializer.dumpb(model_dump(progress)), |
381 | | - } |
382 | | - if self.result_ex_time: |
383 | | - redis_set_params["ex"] = self.result_ex_time |
384 | | - elif self.result_px_time: |
385 | | - redis_set_params["px"] = self.result_px_time |
386 | | - |
387 | | - await self.redis.set(**redis_set_params) # type: ignore |
| 372 | + name = self._task_name(task_id) + PROGRESS_KEY_SUFFIX |
| 373 | + value = self.serializer.dumpb(model_dump(progress)) |
| 374 | + async with self.redis as redis: |
| 375 | + if self.result_ex_time: |
| 376 | + await redis.set(name=name, value=value, ex=self.result_ex_time) |
| 377 | + elif self.result_px_time: |
| 378 | + await redis.set(name=name, value=value, px=self.result_px_time) |
| 379 | + else: |
| 380 | + await redis.set(name=name, value=value) |
388 | 381 |
|
389 | 382 | async def get_progress( |
390 | 383 | self, |
@@ -490,17 +483,15 @@ async def set_result( |
490 | 483 | :param task_id: ID of the task. |
491 | 484 | :param result: TaskiqResult instance. |
492 | 485 | """ |
493 | | - redis_set_params: Dict[str, Union[str, bytes, int]] = { |
494 | | - "name": self._task_name(task_id), |
495 | | - "value": self.serializer.dumpb(model_dump(result)), |
496 | | - } |
497 | | - if self.result_ex_time: |
498 | | - redis_set_params["ex"] = self.result_ex_time |
499 | | - elif self.result_px_time: |
500 | | - redis_set_params["px"] = self.result_px_time |
501 | | - |
| 486 | + name = self._task_name(task_id) |
| 487 | + value = self.serializer.dumpb(model_dump(result)) |
502 | 488 | async with self._acquire_master_conn() as redis: |
503 | | - await redis.set(**redis_set_params) # type: ignore |
| 489 | + if self.result_ex_time: |
| 490 | + await redis.set(name=name, value=value, ex=self.result_ex_time) |
| 491 | + elif self.result_px_time: |
| 492 | + await redis.set(name=name, value=value, px=self.result_px_time) |
| 493 | + else: |
| 494 | + await redis.set(name=name, value=value) |
504 | 495 |
|
505 | 496 | async def is_result_ready(self, task_id: str) -> bool: |
506 | 497 | """ |
@@ -559,22 +550,20 @@ async def set_progress( |
559 | 550 | Sets task progress in redis. |
560 | 551 |
|
561 | 552 | Dumps TaskProgress instance into the bytes and writes |
562 | | - it to redis with a standard suffix on the task_id as the key |
| 553 | + it to redis via sentinel with a standard suffix on the task_id as the key |
563 | 554 |
|
564 | 555 | :param task_id: ID of the task. |
565 | 556 | :param result: task's TaskProgress instance. |
566 | 557 | """ |
567 | | - redis_set_params: Dict[str, Union[str, int, bytes]] = { |
568 | | - "name": self._task_name(task_id) + PROGRESS_KEY_SUFFIX, |
569 | | - "value": self.serializer.dumpb(model_dump(progress)), |
570 | | - } |
571 | | - if self.result_ex_time: |
572 | | - redis_set_params["ex"] = self.result_ex_time |
573 | | - elif self.result_px_time: |
574 | | - redis_set_params["px"] = self.result_px_time |
575 | | - |
| 558 | + name = self._task_name(task_id) + PROGRESS_KEY_SUFFIX |
| 559 | + value = self.serializer.dumpb(model_dump(progress)) |
576 | 560 | async with self._acquire_master_conn() as redis: |
577 | | - await redis.set(**redis_set_params) # type: ignore |
| 561 | + if self.result_ex_time: |
| 562 | + await redis.set(name=name, value=value, ex=self.result_ex_time) |
| 563 | + elif self.result_px_time: |
| 564 | + await redis.set(name=name, value=value, px=self.result_px_time) |
| 565 | + else: |
| 566 | + await redis.set(name=name, value=value) |
578 | 567 |
|
579 | 568 | async def get_progress( |
580 | 569 | self, |
|
0 commit comments