Simplify Relay Lab dashboard and retry handling
This commit is contained in:
+4
-2
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user