Managing Long Running Tasks medium
To make a payment processing worker idempotent, you typically check:
- A The time of day.
- B A unique 'Idempotency Key' (or Transaction ID) in a database. If the key exists, you return the previous result instead of charging the card again.
- C The user's IP.
- D The queue name.
Answer: B. A unique 'Idempotency Key' (or Transaction ID) in a database. If the key exists, you return the previous result instead of charging the card again.
Essential for 'At-Least-Once' delivery environments.
One system design question a day, with spaced repetition so the ones you miss come back.
Get the appRelated questions
- What is the primary purpose of a Dead Letter Queue (DLQ)?
- The architectural pattern where one service creates tasks and another processes them is called:
- In a Priority Queue system (High vs Low), what is 'Starvation' and how do you fix it?
- How do you atomically update your local database AND publish a message to a queue without losing sync if the process crashes in between?
- What does 'Fire and Forget' mean?
- Why might you 'Throttle' (limit the speed of) your background workers?