File tree Expand file tree Collapse file tree 1 file changed +43
-2
lines changed Expand file tree Collapse file tree 1 file changed +43
-2
lines changed Original file line number Diff line number Diff line change 1
- # elector
1
+ # Elector - simple zookeeper based leader election
2
2
3
+ [ ![ Build Status] ( https://travis-ci.org/hyperlink/elector.svg?branch=master )] ( https://travis-ci.org/hyperlink/elector )
3
4
[ ![ 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
+
You can’t perform that action at this time.
0 commit comments