summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorJulien Danjou <julien@danjou.info>2014-06-24 17:11:26 +0200
committerJulien Danjou <julien@danjou.info>2014-07-18 15:08:14 +0200
commitfc85db067a86bdcc5c23bd91126aadfd3d9afcae (patch)
tree2c4ff8fce082f4b0fc6d13f83f35847a116f45a9 /examples
parent90b977ee5eb101aa39d5d15f32ff266e12bbb237 (diff)
downloadtooz-fc85db067a86bdcc5c23bd91126aadfd3d9afcae.tar.gz
Add documentation
Change-Id: Ib236d2061f5f375f7314993db7e6fc38d0f8750b
Diffstat (limited to 'examples')
-rw-r--r--examples/coordinator.py5
-rw-r--r--examples/coordinator_heartbeat.py12
-rw-r--r--examples/group_membership.py14
-rw-r--r--examples/group_membership_watch.py18
-rw-r--r--examples/leader_election.py28
5 files changed, 77 insertions, 0 deletions
diff --git a/examples/coordinator.py b/examples/coordinator.py
new file mode 100644
index 0000000..c6d0792
--- /dev/null
+++ b/examples/coordinator.py
@@ -0,0 +1,5 @@
+from tooz import coordination
+
+coordinator = coordination.get_coordinator('zookeeper', b'host-1')
+coordinator.start()
+coordinator.stop()
diff --git a/examples/coordinator_heartbeat.py b/examples/coordinator_heartbeat.py
new file mode 100644
index 0000000..45539eb
--- /dev/null
+++ b/examples/coordinator_heartbeat.py
@@ -0,0 +1,12 @@
+import time
+
+from tooz import coordination
+
+coordinator = coordination.get_coordinator('memcached', b'host-1')
+coordinator.start()
+
+while True:
+ coordinator.heartbeat()
+ time.sleep(0.1)
+
+coordinator.stop()
diff --git a/examples/group_membership.py b/examples/group_membership.py
new file mode 100644
index 0000000..a94b5e5
--- /dev/null
+++ b/examples/group_membership.py
@@ -0,0 +1,14 @@
+from tooz import coordination
+
+coordinator = coordination.get_coordinator('zookeeper', b'host-1')
+coordinator.start()
+
+# Create a group
+request = coordinator.create_group(b"my group")
+request.get()
+
+# Join a group
+request = coordinator.join_group(b"my group")
+request.get()
+
+coordinator.stop()
diff --git a/examples/group_membership_watch.py b/examples/group_membership_watch.py
new file mode 100644
index 0000000..4da1963
--- /dev/null
+++ b/examples/group_membership_watch.py
@@ -0,0 +1,18 @@
+from tooz import coordination
+
+coordinator = coordination.get_coordinator('zookeeper', b'host-1')
+coordinator.start()
+
+# Create a group
+request = coordinator.create_group(b"my group")
+request.get()
+
+
+def group_joined(event):
+ # Event is an instance of tooz.coordination.MemberJoinedGroup
+ print(event.group_id, event.member_id)
+
+
+coordinator.watch_join_group(b"my group", group_joined)
+
+coordinator.stop()
diff --git a/examples/leader_election.py b/examples/leader_election.py
new file mode 100644
index 0000000..2daea4a
--- /dev/null
+++ b/examples/leader_election.py
@@ -0,0 +1,28 @@
+from tooz import coordination
+
+coordinator = coordination.get_coordinator('zookeeper', b'host-1')
+coordinator.start()
+
+# Create a group
+request = coordinator.create_group(b"my group")
+request.get()
+
+# Join a group
+request = coordinator.join_group(b"my group")
+request.get()
+
+
+def when_i_am_elected_leader(event):
+ # event is a LeaderElected event
+ print(event.group_id, event.member_id)
+
+
+# Propose to be a leader for the group
+coordinator.watch_elected_as_leader(b"my_group",
+ when_i_am_elected_leader)
+
+while True:
+ coordinator.heartbeat()
+ coordinator.run_watchers()
+
+coordinator.stop()