28 lines
705 B
Markdown
28 lines
705 B
Markdown
|
|
---
|
||
|
|
id: "0002"
|
||
|
|
date: 2026-02-10
|
||
|
|
status: Accepted
|
||
|
|
supersedes: "0001"
|
||
|
|
superseded-by:
|
||
|
|
affected-paths: [taskq/execution.py, taskq/queue.py]
|
||
|
|
affected-components: [execution, queue]
|
||
|
|
---
|
||
|
|
|
||
|
|
# 0002 — Job timeouts with exponential backoff, max 3 attempts
|
||
|
|
|
||
|
|
## Context
|
||
|
|
|
||
|
|
Simple retries caused cascade failures. Transient failures need backoff.
|
||
|
|
|
||
|
|
## Decision
|
||
|
|
|
||
|
|
Jobs timeout after 5 minutes. Failed jobs retry with exponential backoff (1s, 2s, 4s) up to 3 total attempts. Permanent failure escalates to review queue.
|
||
|
|
|
||
|
|
## Consequences
|
||
|
|
|
||
|
|
Better resilience. Reduced cascading failures. Terminal failures tracked for review.
|
||
|
|
|
||
|
|
## Alternatives rejected
|
||
|
|
|
||
|
|
Circuit breaker rejected (adds complexity without benefit at this scale).
|