Dead-letter queues for agent tasks
Park failed agent runs with full payload, replay, and poison-pill isolation so human operators can unblock queues without data loss.
At a glance — Oct 2026
Updated 2026-10-27 · forward this page: /jtbds/agent-dlq-retry#briefScores as of 2026-09-14 (43 days old; Depot marks scores stale after 30 days). The pick is still Depot's current editorial pick; it has not been re-reviewed since. Prices below carry their own dates.
- Depot Pick
- Upstash QStash · 8.33/10 for this job (curated estimate, high confidence)
Serverless HTTP DLQ DX for agents. Confidence: high for QStash; verify DLQ/replay knobs.
- Runner-up
- Amazon SQS · 8.12/10
Scores higher than the pick on: Latency / reliability, Privacy / data retention, Maturity / track record.
- When not to use the pick
- AWS/Azure already mandated, or NATS/JetStream is the mesh (Synadia).
- Lock-in / migration
- The pick has lower stored lock-in risk than runner-up Amazon SQS (3.5 vs 5.5).
- Sourced price (usd_per_100k_messages)
Pick's lowest sourced SKU: Pay as You Go messages $1 (usd_per_100k_messages) — source, as of 2026-10-03
Cheapest matching SKU: Upstash QStash Pay as You Go messages $1 — source, as of 2026-10-03. The pick is the cheapest.
Price history: first seen 2026-10-03 · last changed no change recorded · history JSON
- Free option
- No free resource lists this job. A cheap paid SKU is not a free option.
- Failure modes to watch
- Non-determinism: Run the task more than once and compare the end state, not a single transcript. Record the trial count next to any success rate you cite.
- Observability gap: Alert on a drop in trace ingestion and on certificate expiry for the trace host. Do not treat a missing trace as a successful quiet run.
- Partial tool success: Require a per-item status and a failure count. Success for the task requires the failed count to be zero or explicitly handed to a retry queue.
- Runaway spend: Set a budget and a tool-call cap per task. Alert when spend jumps. Stop the run at the cap instead of summarizing a partial trace as success.
- Tool loop: Hash the last several tool names and arguments. Stop when the same call repeats and the observation did not change. Cap tool calls per task.
Cite: Agent Provider Depot, Depot Pick for agent-dlq-retry: upstash-qstash, scores as of 2026-09-14. Agents: GET /api/decide?jtbd=agent-dlq-retry
All sourced prices, cheapest first · for scheduled-ops agents
Upstash QStash
Serverless HTTP DLQ DX for agents. Confidence: high for QStash; verify DLQ/replay knobs.
Pricing (directional): As of 2026-09-14 (upstash.com/pricing/qstash): Free 1k messages/day, 50 GB, 1 MB max. PAYG $1 per 100k messages (unlimited/day, 10 MB, 1-year delay); bandwidth free to 50 GB then $0.05/GB. Fixed 1M $180/mo; Fixed 10M $420/mo; Enterprise cus…
Lock-in risk: higher = more lock-in (worse). Overall already inverts this dimension.
Depot pick for a raw serverless agent event backbone (webhooks, delayed retries, fan-out) without operating Kafka/SQS. Inngest when you need durable steps; NATS/Synadia when you need a real messaging fabric; WarpStream/Confluent when you already are Kafka.
Quote for Dead-letter queues for agent tasks
Depot Pick stays Upstash QStash. Prices below are sourced SKU rows only (as of 2026-10-27). Input and output are not blended. GET /api/quote?jtbd=agent-dlq-retry
Only 1 candidate has a matching USD per 100k messages; nothing was compared, so pickIsPriceWinner is null.
- Pay as You Go bandwidth usd_per_gb $0.05 source as of 2026-10-03
- Fixed 10M usd_per_month $420 source as of 2026-10-03
- Fixed 1M usd_per_month $180 source as of 2026-10-03
- Free usd_per_month $0 source as of 2026-10-03
- Pay as You Go messages usd_per_100k_messages $1 source as of 2026-10-03
4 of 5 candidates have no sourced price row. 4 are excluded from the USD per 100k messages comparison (queue_message). min sourced usd_per_100k_messages among candidates; one queue unit only; per-100k messages and per-million events were not mixed; monthly plans were not ranked; not quality-adjusted
Runners-up
Amazon SQS
Hyperscaler queue leaf when already on AWS. QStash remains Depot serverless HTTP bus default; SQS when…
Azure Service Bus
Azure twin to SQS/EventBridge for agent queues when already on Azure. EventBridge remains AWS hyperscaler…
Synadia Cloud (NATS)
Pick when agents need a real pub/sub fabric (multi-service, edge leafs) not just HTTP callbacks. QStash for…
Google Cloud Pub/Sub
GCP hyperscaler bus for agent events. Prefer Service Bus on Azure for sessions; EventBridge on AWS; QStash…
When NOT to use the top pick
AWS/Azure already mandated, or NATS/JetStream is the mesh (Synadia).
Full ranking (score table)
Ranked with this JTBD's weights. Scores are curated estimates unless marked otherwise. Agents: prefer /api/decide then this table for tie-breaks.
| # | Provider | Overall | Fit | $/perf | Latency | DX | As of |
|---|---|---|---|---|---|---|---|
| 1 | Upstash QStashDepot Pick | 8.3 | 8.2 | 9.2 | 8.4 | 9.2 | 2026-09-14 |
| 2 | Synadia Cloud (NATS) | 8.3 | 8.6 | 8.2 | 8.8 | 8.0 | 2026-09-14 |
| 3 | Google Cloud Pub/Sub | 8.2 | 8.2 | 8.2 | 9.2 | 7.6 | 2026-09-14 |
| 4 | Azure Service Bus | 8.2 | 8.6 | 7.5 | 9.2 | 7.2 | 2026-09-14 |
| 5 | Amazon SQS | 8.1 | 7.8 | 8.8 | 9.2 | 7.0 | 2026-09-14 |
Score methodology for this job
Serverless HTTP DLQ DX for agents. Confidence: high for QStash; verify DLQ/replay knobs.
capabilityFit: 20%pricePerformance: 12%latencyReliability: 28%developerDx: 14%privacyPosture: 8%lockInRisk: 8%maturity: 10%