Message processes twice on crash
Review this JavaScript SQS-style consumer.
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 30 min
Mark a line and say what kind of problem it is.0 findings
1async function poll() {
2 const { Messages = [] } = await sqs.receiveMessage({
3 QueueUrl: ORDER_QUEUE,
4 MaxNumberOfMessages: 10,
5 WaitTimeSeconds: 20,
6 });
7 for (const msg of Messages) {
8 await onMessage(msg);
9 }
10}
11
12async function onMessage(msg) {
13 const order = JSON.parse(msg.body);
14 await inventory.decrement(order.sku, order.qty);
15 await ledger.recordSale(order);
16 await queue.deleteMessage(msg.receiptHandle);
17}
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.