Typescript based sqs consumer. Handles message transport and deletion from SQS: just add a handler function for the messages from SQS to get started.
Integrated with localstack, codeClimate, fossa.
Build Stats:
Maintainability stats:
Publish stats:
Dependencies:
ts-sqs-consumer
allows you to start processing messages from SQS by just
passing in the connection configuration options and defining what needs to
be done as part of the job processing.
The library has a heavy emphasis on code quality and is integrated with the following tools:
npm install ts-sqs-consumer
import { SQSConsumer } from 'ts-sqs-consumer';
// Define a datatype for the message being consumed
type TestMessageType = {
orderId: string;
handle: string;
};
const tsSQSConsumer: SQSConsumer<TestMessageType> = new SQSConsumer({
// Provide the connection options
sqsOptions: {
clientOptions: {
region: 'us-east-1',
},
receiveMessageOptions: {
queueUrl: 'url-of-your-queue',
visibilityTimeout: 1800,
waitTimeSeconds: 20,
maxNumberOfMessages: 1,
stopAtFirstError: false,
},
},
// Define what needs to be done with each message
jobProcessor: (async (message: TestMessageType) => {
console.log('Got message');
console.log(message);
// other processing steps
}),
});
// Start processing messages
await tsSQSConsumer
.processPendingJobs()
.catch((err: Error): void => {
throw err;
});