Registry / messaging / queue-processor

queue-processor

JSON →
library1.2.1jsnpmunverified

A lightweight Node.js library for consuming AWS SQS messages. It processes messages by passing them to a user-defined handler function and deletes them upon successful completion. The library also supports a deleteOnError option to preserve messages on failure and an optional logger. Version 1.2.1 is current; it has a stable API but limited updates. Key differentiators: minimal abstraction, direct SQS integration, and a simple callback-based interface.

npm install queue-processor
INSTALL
IMPORT
SIG · QUEUE-PROCESSOR
Q
queue-processor
messagingjavascriptv1.2.1
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

queueProcessor
const queueProcessor = require('queue-processor');
import queueProcessor from 'queue-processor';
Only CommonJS require is supported; no ES module or named exports.
queueProcessor
const queueProcessor = require('queue-processor');
const { queueProcessor } = require('queue-processor');
Not a named export; it's a single default-like export via module.exports.
queueProcessor
const queueProcessor = require('queue-processor');
import * as queueProcessor from 'queue-processor';
Bare import does not work; use CommonJS require.

Shows how to require the module, configure AWS credentials and SQS queue URL, define a message handler, and start processing messages.

const queueProcessor = require('queue-processor'); const config = { accessKeyId: process.env.AWS_ACCESS_KEY_ID ?? '', secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY ?? '', region: 'us-east-1', queueUrl: 'https://sqs.us-east-1.amazonaws.com/123456789012/my-queue', deleteOnError: false }; function handler(message, callback) { console.log('Processing message:', message.Body); // Process message... callback(null); // Delete message on success } queueProcessor(config, handler);
Debug
Known issues
gotchaThe config object requires both accessKeyId and secretAccessKey; omitting them causes an AWS SDK error.
fix
Ensure all required config fields are provided, including accessKeyId, secretAccessKey, region, and queueUrl.
affects: >=1.0.0
gotchaThe callback pattern: if you pass an error to the callback, the message is preserved (not deleted) by default. Only if deleteOnError is truthy will the message be deleted on error.
fix
Set deleteOnError: true in config if you want to delete messages even on processing errors.
affects: >=1.0.0
gotchaThe library does not support Batch receive or delete operations; it processes one message at a time with default AWS SDK polling.
fix
Use alternative libraries like sqs-consumer if you need batch processing or more advanced features.
affects: >=1.0.0
Errors
Common errors & fixes
TypeError: queueProcessor is not a function
Using ES module import syntax which is not supported by this CommonJS package.
fix
Replace 'import queueProcessor from "queue-processor"' with 'const queueProcessor = require("queue-processor")'.
MissingRequiredParameter: Missing required key 'QueueUrl' in params
The queueUrl config field is missing or misspelled.
fix
Ensure config.queueUrl is set correctly and matches the SQS queue URL.
UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'deleteMessage' of undefined
AWS SDK not initialized properly due to missing credentials or region.
fix
Check that accessKeyId, secretAccessKey, and region are correctly set in the config object.
Upgrade
Version history
1.2.1latest on npm
Audit
Dependencies
aws-sdkrequiredRequired for SQS client and message operations
Agent activity
20 hits · last 30 days
node
18
Amazon
1
OpenAI (training)
1
Resources
queue-processor — npm install queue-processor · libregistry