Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Node.js
  3. sqs-consumer

sqs-consumer

NOASSERTIONTypeScriptv15.0.2

A Node.js library for building Amazon SQS-based applications with minimal boilerplate.

Visit WebsiteGitHubGitHub
1.9k stars334 forks0 contributors

What is sqs-consumer?

SQS Consumer is a Node.js library that provides a high-level abstraction for building applications that consume messages from Amazon Simple Queue Service (SQS). It eliminates the need to write boilerplate code for polling queues, handling message visibility, and managing acknowledgments, allowing developers to concentrate on implementing business logic in a simple async handler function.

Target Audience

Node.js developers building event-driven or serverless applications on AWS that need to reliably process messages from SQS queues without managing low-level SDK calls.

Value Proposition

Developers choose SQS Consumer because it drastically reduces the complexity of SQS integration, offers robust error handling and graceful shutdown features out-of-the-box, and provides fine-grained control over message acknowledgment behavior, making it a production-ready solution for SQS-based workflows.

Overview

Build Amazon Simple Queue Service (SQS) based applications without the boilerplate

Use Cases

Best For

  • Processing messages from SQS queues in Node.js applications with minimal setup
  • Implementing reliable message consumers with configurable error and retry logic
  • Building event-driven microservices that consume from AWS SQS
  • Creating SQS consumers that require graceful shutdown and in-flight message completion
  • Handling batch message processing from SQS with controlled acknowledgment
  • Developing applications that need to work with both standard and FIFO SQS queues

Not Ideal For

  • Projects requiring fully tested and guaranteed support for FIFO SQS queues, as the library explicitly warns this is untested
  • Teams that need to implement highly custom SQS polling strategies or message visibility logic not exposed by the library's abstraction
  • Applications built in non-Node.js environments or those requiring cross-platform compatibility beyond Node.js

Pros & Cons

Pros

Simplified SQS Integration

The library abstracts away complex polling, visibility timeouts, and acknowledgment logic, allowing developers to focus solely on business logic in an async handler function, as shown in the basic usage example.

Robust Error Handling

Seamlessly integrates with SQS redrive policies; processing errors leave messages on the queue for automatic retry or dead-letter queuing, reducing manual error management overhead.

Graceful Shutdown Control

Supports configurable wait times (pollingCompleteWaitTimeMs) to complete in-flight message processing before stopping, with detailed events for monitoring shutdown progress, ensuring reliable application termination.

Flexible Acknowledgment Rules

Offers fine-grained control over message deletion via return values from the handler, with options for batch processing and strict acknowledgment modes, providing adaptability for different use cases.

Cons

Untested FIFO Support

The README admits FIFO queue support is not explicitly tested and may not work reliably, requiring users to suppress warnings and potentially face ordering or reliability issues in production.

Complex Acknowledgment Semantics

Acknowledgment behavior based on return values (e.g., undefined vs. empty object) is nuanced and subject to breaking changes, such as the deprecation of void returns and future strictReturn defaults, which can lead to confusion or bugs.

Node.js Lock-in

Limited to Node.js applications, making it unsuitable for projects using other runtimes or those aiming for a more generic, platform-agnostic message processing solution.

Frequently Asked Questions

Quick Stats

Stars1,904
Forks334
Contributors0
Open Issues0
Last commit4 days ago
CreatedSince 2014

Tags

#event-driven#graceful-shutdown#message-queue#serverless#polling#aws-sdk#sqs#nodejs#message-processing#javascript#backend#nodejs-library#aws#aws-sqs

Built With

A
AWS SDK
N
Node.js

Links & Resources

Website

Included in

Node.js65.5k
Auto-fetched 1 day ago

Related Projects

BullBull

Premium Queue package for handling distributed jobs and messages in NodeJS.

Stars16,244
Forks1,423
Last commit29 days ago
agendaagenda

Lightweight job scheduling for Node.js

Stars9,669
Forks841
Last commit29 days ago
bullmqbullmq

BullMQ - Message Queue and Batch processing for NodeJS, Python, Elixir and PHP based on Redis

Stars8,971
Forks631
Last commit1 day ago
bee-queuebee-queue

A simple, fast, robust job/task queue for Node.js, backed by Redis.

Stars4,031
Forks220
Last commit2 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub