Skip to content

Commit b9a6e32

Browse files
committed
docs(readme): add documentation
1 parent 42ed6e9 commit b9a6e32

File tree

1 file changed

+43
-2
lines changed

1 file changed

+43
-2
lines changed

README.md

Lines changed: 43 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,45 @@
1-
# elector
1+
# Elector - simple zookeeper based leader election
22

3+
[![Build Status](https://travis-ci.org/hyperlink/elector.svg?branch=master)](https://travis-ci.org/hyperlink/elector)
34
[![Greenkeeper badge](https://badges.greenkeeper.io/hyperlink/elector.svg)](https://greenkeeper.io/)
4-
simple zookeeper based leader election
5+
[![npm version](https://badge.fury.io/js/elector.svg)](https://badge.fury.io/js/elector)
6+
7+
## Features
8+
9+
* emits `leader` event when instance has been elected a leader
10+
* emits `follower` event when instance is a follower
11+
* check using `elector.isLeader`
12+
13+
## Install
14+
15+
```bash
16+
npm install --save elector
17+
```
18+
19+
## Usage
20+
21+
```javascript
22+
const Elector = require('elector')
23+
24+
const elector = new Elector({host: 'localhost:2818'})
25+
26+
// connects to zookeeper and starts the election process
27+
elector.connect()
28+
29+
elector.on('leader', function () {
30+
console.log('I am the supreme leader worship me!');
31+
})
32+
33+
elector.on('follower', function () {
34+
console.log('I am but a lowly follower :(');
35+
})
36+
37+
// leave the election and closes zookeeper connection
38+
elector.leave();
39+
40+
```
41+
42+
43+
## License
44+
MIT
45+

0 commit comments

Comments
 (0)