All projects

backend apis

A job queue with retries and dead letters

Background work that survives crashes, retries with backoff, and never silently loses a job.

advancedJava~32h

Why it matters

Every real backend has background work, and most of the outages come from it. Knowing why a job must be idempotent is a senior-sounding answer you will actually have earned.

What you build

  • A durable queue backed by the database
  • Exponential backoff with jitter
  • A dead-letter queue for what will never succeed
  • Idempotent handlers proven by a test

If you want more

  • Add priority lanes
  • Add a admin view of stuck jobs

Build it 5 steps

  • In-memory queues lose work. That is the whole point of this project.

  • Give up after N attempts and record why

Material for the whole build

Shows you can build systems that fail safely, which is what separates a service from a script.

Get a plan built around projects like this