redis-ext

0.1.1 • Public • Published

Redis-ext extends nodejs redis client with failover support via Redis Sentinels.

It also provides basic job queue implementation.

This module is being used in production environment for several months now.

Installation

npm install redis-ext

Usage

Create Sentinel aware connection:

   var redis = require('redis-ext')
   , _sentinels = [
   		{host: "localhost", port: 26379},
   		{host: "localhost", port: 26380}
   ]
   /* possible options:
   * retry_delay - minimum delay before attempting to reconnect, delay will grow up to retry_max_delay if provided
   * retry_max_delay - maximum delay between reconnection attempts
   * connect_timeout - if specified, retries will stop after total time for reconnecting exceeds this number 
   */
   , _options = { retry_max_delay: 10000 }
   , client = redis.createWithSentinel(_sentinels, "mastername", _options);

Create receiving job client:

   var queue = redis.createQueue(function () {
   	return redis.createWithSentinel(_sentinels, "queues", _options);
   }, key, workerFn);

   queue.connect(); // start receiving jobs

Create job queue:

   var queue = redis.createQueue(function () {
   	return redis.createWithSentinel(_sentinels, "queues", _options);
   }, key);

   queue.send(jobdescription);

Author

Laura Doktorova @olado

License

redis-ext is licensed under the MIT License

Readme

Keywords

Package Sidebar

Install

npm i redis-ext

Weekly Downloads

3

Version

0.1.1

License

none

Last publish

Collaborators

  • olado