Payment processes twice
Review this Node consumer that processes payment events from an at-least-once queue.
What a strong answer looks like
Separate real bugs from style. Rank issues by severity, point at the root cause rather than the symptom, and suggest a concrete fix, specific and kind.
0:00 of about 22 min
Mark a line and say what kind of problem it is.0 findings
1async function handle(msg) {
2 const { paymentId, amount, userId } = JSON.parse(msg.body);
3 await db.query(
4 "UPDATE accounts SET balance = balance + $1 WHERE id = $2",
5 [amount, userId]
6 );
7 await ledger.insert({ paymentId, amount, userId });
8 await msg.ack();
9}
Which questions mattered is sealed until you submit. Telling you now would just be handing over the edge cases.
Run or narrate your approach, then ask the coach.