{"id":"agent-dlq-retry","slug":"agent-dlq-retry","name":"Dead-letter queues for agent tasks","shortName":"Agent DLQ","problemStatement":"Park failed agent runs with full payload, replay, and poison-pill isolation so human operators can unblock queues without data loss.","whenNotTopPick":"AWS/Azure already mandated, or NATS/JetStream is the mesh (Synadia).","categoryIds":["cat-cpu-compute"],"depotPickProviderId":"upstash-qstash","depotPickRationale":"Serverless HTTP DLQ DX for agents. Confidence: high for QStash; verify DLQ/replay knobs.","runnersUpIds":["aws-sqs","azure-service-bus","synadia-cloud","gcp-pubsub"],"weights":{"capabilityFit":0.2,"pricePerformance":0.12,"latencyReliability":0.28,"developerDx":0.14,"privacyPosture":0.08,"lockInRisk":0.08,"maturity":0.1},"methodologyNotes":"Serverless HTTP DLQ DX for agents. Confidence: high for QStash; verify DLQ/replay knobs.","tags":["dlq","queue","retry","agents"],"depth":{"whenNotToUse":{"text":"AWS/Azure already mandated, or NATS/JetStream is the mesh (Synadia).","source":"editorial `whenNotTopPick` (data/jtbds.json)"},"whenNotToUseReason":null,"runnerUp":{"providerId":"aws-sqs","name":"Amazon SQS","overallForJob":8.12,"pickOverallForJob":8.33,"beatsPickOn":["latencyReliability","privacyPosture","maturity"],"source":"first resolvable entry of the job's editorially ranked `runnersUpIds`; scores are stored job-weighted scores"},"runnerUpReason":null,"lockIn":{"pickLockInRisk":3.5,"runnerUpLockInRisk":5.5,"scale":"0–10 stored curated estimate; higher = more lock-in (worse)","pickExitSignals":[],"runnerUpExitSignals":[],"pickNotes":[],"selfHostFallback":[],"migration":"The pick has lower stored lock-in risk than runner-up Amazon SQS (3.5 vs 5.5).","migrationReason":null,"derivedFrom":"stored lockInRisk scores, provider tags (oss, self-host, openai-compat, open-models), free rows that list this job, and verbatim provider notes. No migration guide was invented."}},"freshness":{"pick":{"score":{"asOf":"2026-09-14","ageDays":43,"stale":true,"staleAfterDays":30,"reason":null},"lastReviewed":{"asOf":"2026-09-14","ageDays":43,"stale":true,"staleAfterDays":30,"reason":null},"sourceCheck":{"checkedAt":"2026-10-27","sourceUrls":2,"sourcesReachable":2,"pricingRows":5,"pricingRowsReconfirmed":3,"note":"A source re-check confirms the page is reachable and, for pricing rows, that the stored amount and SKU name appear on it. It does not re-derive or change the score.","reason":null}}},"depotPick":{"id":"upstash-qstash","slug":"upstash-qstash","name":"Upstash QStash","tagline":"Depot pick for a raw serverless agent event backbone (webhooks, delayed retries, fan-out) without operating…","overall":8.33},"runnersUp":[{"id":"aws-sqs","slug":"aws-sqs","name":"Amazon SQS","tagline":"Hyperscaler queue leaf when already on AWS. QStash remains Depot serverless HTTP bus default; SQS when…","overall":8.12},{"id":"azure-service-bus","slug":"azure-service-bus","name":"Azure Service Bus","tagline":"Azure twin to SQS/EventBridge for agent queues when already on Azure. EventBridge remains AWS hyperscaler…","overall":8.15},{"id":"synadia-cloud","slug":"synadia-cloud","name":"Synadia Cloud (NATS)","tagline":"Pick when agents need a real pub/sub fabric (multi-service, edge leafs) not just HTTP callbacks. QStash for…","overall":8.31},{"id":"gcp-pubsub","slug":"gcp-pubsub","name":"Google Cloud Pub/Sub","tagline":"GCP hyperscaler bus for agent events. Prefer Service Bus on Azure for sessions; EventBridge on AWS; QStash…","overall":8.23}]}