Skip to main content

Comparison

ReTraced takes a different approach: while mature queues optimize for production throughput and abstraction, ReTraced prioritizes visibility and learning by exposing retry and failure behavior as explicit, queryable data.

Feature / CapabilityReTracedBullMQSidekiqAWS SQS + Lambda
Primary Design GoalExplicit retry & failure modeling for learning and debuggingHigh-throughput Redis-based queuesBattle-tested background jobs for RailsFully managed event-driven execution
Delivery GuaranteeAt-least-onceAt-least-onceAt-least-onceAt-least-once
Retry Strategy Configuration✅ Per-job strategy (linear, fixed, exponential, three-tier)Per-job or queue-level backoffQueue-level retry configPlatform-managed retry policies
Retry Behavior as Data✅ Full history[] array with metadataRetry count and last errorRetry countCloudWatch logs
Retry Attempt Audit Trail✅ Timestamp, error code, trigger type, result per attemptRetry count, last errorRetry count, last errorCloudWatch logs
Manual vs Auto Retry Tracking✅ Explicit tracking (AUTO vs MANUAL)Not tracked separatelyNot tracked separatelyNot tracked separately
Backoff Configuration✅ Per-job (baseDelay, factor, jitter, limitOfTries)Configurable exponential backoffConfigurable backoffAWS-managed
Dead Letter Queue (DLQ)✅ Separate DLQ with full job historyDLQ pattern supportFailed job setsNative DLQ support
DLQ Forensics✅ Failure type, complete retry history, error classificationJob data + errorJob data + errorMessage + error logs
Manual Retry from DLQ✅ First-class feature with trigger trackingManual job requeueManual job requeueRedrive policy
Poison Job Handling✅ Explicit poisoned statusHandled via DLQ patternHandled via dead setsHandled via DLQ
Failure Classification✅ Permanent / Temporary / PoisonError handling via user codeError handling via user codeRetry vs DLQ based on config
Job Lifecycle States✅ Detailed (pending, processing, delayed, dead, poisoned, completed, failed)Active, completed, failed, delayedQueued, processing, completed, failedManaged by AWS
Priority Jobs❌ Not implemented✅ Supported✅ SupportedNot natively supported
Scheduling / Cron Jobs❌ Not implemented✅ Repeatable jobs✅ Cron-style scheduling✅ EventBridge integration
Exactly-Once Semantics❌ Not implemented (at-least-once by design)Not guaranteedNot guaranteedApproximate (FIFO + deduplication)
Idempotency Support❌ Not implemented (user-managed)User-managedUser-managed✅ Native (FIFO queues)
Persistence LayerRedisRedisRedis + optional PostgreSQLFully managed by AWS
Operational ScaleEducational / small-scaleProduction-grade, high-throughputProduction-gradeMassive scale
Observability❌ Planned (basic logging currently)✅ Built-in metrics and monitoring✅ Mature monitoring ecosystem✅ CloudWatch integration
Deployment✅ Docker Compose readyDocker compatibleDocker compatibleFully managed

When to Use Each​

Use ReTraced when:

  • Debugging complex retry scenarios
  • Need complete visibility into retry behavior
  • Building prototypes that require failure forensics
  • Teaching or understanding how job queues work internally