The probe
A task queue decouples work submission from work execution. The key systems design problems: at-least-once vs exactly-once delivery, task visibility timeout (what happens if a worker dies mid-task), retry with backoff, and dead-letter queues.
Step 1 — Clarify
- At-least-once or exactly-once task execution? (At-least-once is standard — tasks must be idempotent)
- Priority queues? (Yes — critical tasks jump the queue)
- Task timeout (maximum execution time before considering a worker dead)? - Retry policy (max attempts, backoff strategy)?
- Dead-letter queue for permanently failed tasks?
Step 2 — Data Model
tasks table:
task_id (UUID), queue_name, payload (JSON), status
(queued/in_progress/completed/failed/dead),
priority (int), attempt_count, max_attempts, visibility_timeout_at, next_attempt_at, created_at, completed_at, error_message
52 FAANG Question Vault — $299 one-time (or $249 for paid subscribers)
All 52 walkthroughs + 52 drill cards + 6 framework cheatsheets + the Senior+ System Design Playbook. Everything, immediately. Lifetime access with all future updates included. → [VAULT CHECKOUT LINK]


