Paths/Backend Engineer/Queues & Async Work / Failure Handling
Make the Consumer Idempotent
The broker will send the message twice, and it is not a bug. Write the strategy that makes the second delivery a no-op.
Validator
⏱ 0:00
IDLE — checks run live as you type commands; submit when done
01Requirements
live checks- File ~/backend/queues/idempotency.md exists○
- The document names the idempotency key○
- The document explains where the key is stored and for how long○
- The document explains the deduplication window○
02Walkthrough
1 of 4 revealed- 01
Name the key and the storage
The idempotency_key is the event id. Store it with a unique constraint so the second insert fails instead of duplicating the work.
echo '# Idempotent consumers\n\n## The key\n\nThe idempotency_key is the event id. It is stored in the processed_events table with a unique constraint.' > ~/backend/queues/idempotency.md - 3 locked · each failed submit reveals one
03Stuck?
0 of 3 revealedTake a hint without losing the lab — each one points at the thing to look at, not at the answer.
04AI Tutor
guides, never solvesTell me what you're stuck on — I'll nudge, not solve. Which requirement are you looking at?
04Notebook
saved locally in this browserlearner@lab — ubuntu:24.04
Session is disposable
↑/↓ recalls commands · Ctrl+Enter submits · type help for the command list