0.0.3 • Published 3 years ago

hyperq-sqs v0.0.3

Weekly downloads
-
License
GNU GENERAL PUBLI...
Repository
github
Last release
3 years ago

GitHub Workflow Status (branch) Coveralls branch

How to use it

Install

npm install --save @aws-sdk/client-sqs
npm install --save hyperq hyperq-sqs

Usage

const { Worker, Message } = require('hyperq');
const { SQSClient } = require("@aws-sdk/client-sqs")
const { SQSQueue } = require('hyperq-sqs');

const sqs = SQSClient({
  region: "us-east-1",
})

const sqsQueue = new SQSQueue(sqs, 'myqueue');
await sqsQueue.build(); // This will create the queue on AWS

const action = async (message: Message, w: Worker): Promise<void> => {
  const msg = message.body;
  try {
    // ...do your thing
  } catch(e) {
    await message.retry(); // Message goes back to the queue instantly
  }
  await message.delete(); // Message is deleted forever
};

const worker = new Worker(sqsQueue, action, {});;

process.on('SIGTERM', worker.exit());
process.on('SIGINT', worker.exit());

await worker.run();