Skip to content

Instantly share code, notes, and snippets.

@XavierGeerinck
Created March 31, 2018 08:25
Show Gist options
  • Save XavierGeerinck/34ba7aa20e0c103cc4b01cbb497c1513 to your computer and use it in GitHub Desktop.
Save XavierGeerinck/34ba7aa20e0c103cc4b01cbb497c1513 to your computer and use it in GitHub Desktop.
const azure = require('azure-storage');
const config = require('./config');
const Poller = require('./Poller');
const queueService = azure.createQueueService(config.azureStorageAccount, config.azureStorageAccessKey);
const poller = new Poller(1000);
poller.onPoll(() => {
console.log(`[Queue - Receiver] Polling for messages`);
queueService.getMessages(config.queueName, (err, results, res) => {
if (err) {
console.log(`[Queue - Receiver] Error while getting messages: ${err}`);
return;
}
if (!results[0]) {
console.log(`[Queue - Receiver] Queue is empty`);
return;
}
// Get our top message
const message = results[0];
// Remove it from the queue, since else the others are hidden
queueService.deleteMessage(config.queueName, message.messageId, message.popReceipt, (err, res) => {
if (err) {
console.log(`[Queue - Receiver] Error while deleting message: ${err}`);
return;
}
console.log(`[Queue - Receiver] Removed message: ${JSON.stringify(message)} from queue`);
poller.poll(); // Wait for the next message
})
});
});
poller.poll();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment