Skip to content

Commit 0195b60

Browse files
authored
fix: requeue message (#154)
1 parent 3a9e3af commit 0195b60

File tree

2 files changed

+10
-4
lines changed

2 files changed

+10
-4
lines changed

taskiq/context.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
from copy import copy
21
from typing import TYPE_CHECKING
32

43
from taskiq.abc.broker import AsyncBroker
@@ -28,10 +27,9 @@ async def requeue(self) -> None:
2827
2928
:raises NoResultError: to not store result for current task.
3029
"""
31-
message = copy(self.message)
32-
requeue_count = int(message.labels.get("X-Taskiq-requeue", 0))
30+
requeue_count = int(self.message.labels.get("X-Taskiq-requeue", 0))
3331
requeue_count += 1
34-
message.labels["X-Taskiq-requeue"] = str(requeue_count)
32+
self.message.labels["X-Taskiq-requeue"] = str(requeue_count)
3533
await self.broker.kick(self.broker.formatter.dumps(self.message))
3634
raise NoResultError()
3735

tests/test_requeue.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,10 @@ async def task(context: Context = TaskiqDepends()) -> None:
1818

1919
kicked = await task.kiq()
2020
await kicked.wait_result()
21+
assert (
22+
broker.custom_dependency_context[Context].message.labels["X-Taskiq-requeue"]
23+
== "1"
24+
)
2125

2226
assert runs_count == 2
2327

@@ -40,5 +44,9 @@ async def task(_: None = TaskiqDepends(dep_func)) -> None:
4044

4145
kicked = await task.kiq()
4246
await kicked.wait_result()
47+
assert (
48+
broker.custom_dependency_context[Context].message.labels["X-Taskiq-requeue"]
49+
== "1"
50+
)
4351

4452
assert runs_count == 2

0 commit comments

Comments
 (0)