redis-leader
v0.1.0
Published
Leader election using redis
Downloads
12,967
Readme
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