Skip to content

Commit

Permalink
enhance: update queueService.receive to return messages asap
Browse files Browse the repository at this point in the history
  • Loading branch information
greatSumini committed Oct 25, 2021
1 parent 3b94010 commit fc3866f
Showing 1 changed file with 15 additions and 8 deletions.
23 changes: 15 additions & 8 deletions src/services/queue.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -38,16 +38,23 @@ const sendBatch = (queueName: string, query: Record<string, string>) => {
const receive = async (queueName: string, query: Record<string, string>) => {
const { MaxNumberOfMessages = '1', WaitTimeSeconds = '20' } = query;

await new Promise((resolve) =>
setTimeout(resolve, Number(WaitTimeSeconds) * 1000)
);

const messages = queueRepository
.get(queueName)
.messages.slice(0, Number(MaxNumberOfMessages));
let count = 0;
do {
const messages = queueRepository
.get(queueName)
.messages.slice(0, Number(MaxNumberOfMessages));

if (messages.length > 0) {
return {
Message: messages.map((message) => message.toOutput()),
};
} else {
await new Promise((resolve) => setTimeout(resolve, 1000));
}
} while (++count < Number(WaitTimeSeconds));

return {
Message: messages.map((message) => message.toOutput()),
Message: [],
};
};

Expand Down

0 comments on commit fc3866f

Please sign in to comment.