2.1.0 • Published 2 years ago

@genie-solutions/sqs-toolbelt v2.1.0

Weekly downloads
90
License
ISC
Repository
-
Last release
2 years ago

Genie SQS Toolbelt

Set of reusable tools to make writing new SQS producers and consumers a breeze.

How to publish a new version

After your branch has been merged into master: 1. Checkout the master branch: git checkout master. 2. Pull down the latest changes on master: git pull. 3. Run the correct command out of the following, depending on if your change was a patch (bug fix), minor (non-breaking change), major (breaking change): 3.1 Patch: npm version patch 3.2 Minor: npm version minor 3.3 Major: npm version major

Sample Usage

import { setSQS, sendMessage, onReceiveMessage, ProcessorResult } from '@genie-solutions/sqs-toolbelt';

import AWS = require('aws-sdk');
import uuid = require('uuid');

const sqs = new AWS.SQS({ region: 'ap-southeast-2' });
const queueUrl = `${SQS.BASE_URL}/${SQS.ACCOUNT_NUMBER}/${queueName}`;
setSQS(sqs); // set custom SQS instance, new AWS.SQS() will be used by default
setLogger(logger); // set custom logger, console will be used by default

sendMessage(queueUrl, {
  correlationId: req.headers['X-Correlation-ID'],
  body: JSON.stringify(payload),
});

/*
if dlQueueUrl provided message will be moved to DLQ straightaway when {success:false, retry: false} received.
IMPORTANT NOTE: re-drive policy and dead-letter queue should still be configured for the main queue, dlQueueUrl is to allow skip SQS re-drive policy when `retry: false` returned.
*/
onReceiveMessage({
  queueUrl: '<queue_url>',
  dlQueueUrl: '<optional_dead_letter_queue_url>',
  processor: async ({ correlationId, body }): Promise<ProcessorResult> => {
    // do something with the message correlationId and body
    return { success: true };
  }
})

Running tests

To run test, first start the SQS docker container: docker-compose up -d.

Now tests can be run with npm test.

2.1.0

2 years ago

2.0.1

4 years ago

2.0.0

4 years ago

1.1.0

4 years ago

1.0.1

4 years ago

1.0.0

5 years ago

0.3.1

5 years ago

0.3.0

5 years ago

0.2.1

5 years ago

0.1.0

5 years ago