Skip to content

Commit e9c6857

Browse files
committed
Fixed retry middleware. Added logs and parent labels.
Signed-off-by: Pavel Kirilin <[email protected]>
1 parent 671546e commit e9c6857

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

taskiq/middlewares/retry_middleware.py

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,13 +41,21 @@ async def on_error(
4141
if retry_on_error != "True":
4242
return
4343

44-
logger.info(f"Task '{message.task_name}' invocation failed. Retrying.")
45-
4644
# Getting number of previous retries.
4745
retries = int(message.labels.get("_retries", 0)) + 1
4846
message.labels["_retries"] = str(retries)
4947
max_retries = int(message.labels.get("max_retries", self.default_retry_count))
5048
if retries < max_retries:
49+
logger.info(
50+
"Task '%s' invocation failed. Retrying.",
51+
message.task_name,
52+
)
53+
message.labels["_parent"] = message.task_id
5154
message.task_id = self.broker.id_generator()
5255
broker_message = self.broker.formatter.dumps(message=message)
5356
await self.broker.kick(broker_message)
57+
else:
58+
logger.warning(
59+
"Task '%s' invocation failed. Maximum retries count is reached.",
60+
message.task_name,
61+
)

0 commit comments

Comments
 (0)