Simplify Relay Lab dashboard and retry handling

This commit is contained in:
2026-11-07 21:14:51 -07:00
parent c7298662a1
commit 9716886700
3 changed files with 34 additions and 25 deletions
+4 -2
View File
@@ -4,6 +4,8 @@ import sqlite3
from contextlib import contextmanager
from uuid import uuid4
MAX_ATTEMPTS = 3
class Conflict(Exception):
"""An idempotency key was reused for a different request."""
@@ -77,7 +79,7 @@ class QueueStore:
(now,),
).fetchall()
for row in expired:
state = "dead" if row["attempts"] >= 3 else "queued"
state = "dead" if row["attempts"] >= MAX_ATTEMPTS else "queued"
db.execute("""
UPDATE jobs SET state = ?, available_at = ?, lease_token = NULL,
lease_until = NULL WHERE id = ?
@@ -104,7 +106,7 @@ class QueueStore:
delay = 2 ** attempt
if success:
state, message = "delivered", "Consumer acknowledged the event"
elif attempt >= 3:
elif attempt >= MAX_ATTEMPTS:
state, message = "dead", "Consumer failed · attempts exhausted"
else:
state, message = "queued", f"Consumer failed · retry in {delay}s"