Skip to content

Latest commit

 

History

History
65 lines (35 loc) · 1.08 KB

README.md

File metadata and controls

65 lines (35 loc) · 1.08 KB

Redis leader

Leader election backed by Redis

Requirements

  • Redis 2.6.12

Install

npm install redis-leader

Examples

var Leader = require('redis-leader');

API

new Leader(redis, options)

Create a new Leader

redis is a string key identifying the lock

options

ttl Lock time to live in milliseconds (will be automatically released after that time)

wait Time between 2 tries getting elected (ms)

stop (callback)

Release the lock for others.

isLeader (callback)

Tells if he got elected.

callback(err, true/false)

Events

elected when your candidate become leader

revoked when your leader got revoked from his leadership

error when an error occurred, best is to exit your process

How it works

It uses setnx command to try to set a semaphore with the ttl given in options.

  • If it succeeds, it gets elected and will renew the semaphore every ttl/2 ms.
  • If it fails or get revoked, it tries to get elected every wait ms.

License

MIT