2.0.15 • Published 14 days ago

azure-queue-wrapper v2.0.15

Weekly downloads
-
License
MIT
Repository
-
Last release
14 days ago

Azure Queue Wrapper for Node.js

A convenient wrapper to work with Azure Storage Queues in Node.js applications.

Installation

You can install the package using npm:

npm install azure-queue-wrapper

Usage

  1. Initialize Azure Queue Wrapper Import the package and initialize the Azure Queue Wrapper in your code:
import { ProcessAzureQueueMessage, AddMessageToQueue } from 'azure-queue-wrapper';
  1. Process Messages from Queue Use the @ProcessAzureQueueMessage decorator to process messages from a queue based on a specified time interval:
class MyQueueProcessor {
    @ProcessAzureQueueMessage('<connection-string>', { queue: '<queue-name>', retry: 3, timeInterval: [5, 'seconds'], deadLetterQueue: '<dead-letter-queue-name>', numberOfMessages: 1, isMessageEncoded: false, startupDelay: 60 }) // Replace with your connection string, queue name, retries count(default: 3), interval (default:5 seconds), deadLetterQueue name( default: <queue-name>-poison) , numberOfMessages(optional) default is 1, isMessageEncoded (optional) determines if messsage from queue will be encoded (default = false), startupDelay in seconds (optional) default is 60 seconds
    async processQueueMessage(message: any) {
        // Your message processing logic here
    }
}

Supported Time Units

The following time units are supported for specifying the time interval:

  • Seconds
  • Minutes
  • Hours
  • Days
  • Weeks

The time interval should be specified as a tuple with a numeric value and the unit, for example, (5, 'seconds') for 5 seconds, (10, 'minutes') for 10 minutes, and so on.

  1. Add Message to Queue Use the @AddMessageToQueue decorator to add a message to a queue:
class MyQueueProducer {
    @AddMessageToQueue('<connection-string>')
    async addMessageToQueue(queueName: string, message: any) {
        // Your message adding logic here
        return { status: 'success' };
    }
}

Contributing

Contributions are welcome! Please feel free to submit issues or pull requests on the GitHub repository.

GitHub Repository

Find the source code, contribute, or report issues on GitHub.

License

This project is licensed under the MIT License.

2.0.15

14 days ago

2.0.14

16 days ago

2.0.13

19 days ago

2.0.12

29 days ago

2.0.11

1 month ago

2.0.7

1 month ago

2.0.9

1 month ago

2.0.10

1 month ago

2.0.8

1 month ago

2.0.3

2 months ago

2.0.2

2 months ago

2.0.5

2 months ago

2.0.4

2 months ago

2.0.6

2 months ago

2.0.1

2 months ago

2.0.0

2 months ago

1.0.2

2 months ago

1.0.1

2 months ago

1.0.0

2 months ago