Skip to content

Python package that implements a Watch class which can be used as a decorator to trigger functions when changes are detected on a specified node in Zookeeper.

License

Notifications You must be signed in to change notification settings

bogdan-alexandrescu/Zookeeper-Watcher

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Zookeeper-Watcher

Watches a designated node in Zookeeper for data or member changes. Implements a Watch class which can be used as a decorator to trigger functions when changes are detected on a specified node in Zookeeper.

[Latest Version] (https://pypi.python.org/pypi/Zookeeper-Watcher/) [Downloads] (https://pypi.python.org/pypi/Zookeeper-Watcher/) [Download format] (https://pypi.python.org/pypi/Zookeeper-Watcher/) [License] (https://pypi.python.org/pypi/Zookeeper-Watcher/)

Supported Platforms

  • OSX and Linux.
  • Python 2.7

Probably works with other versions as well.

Quickstart

Install:

pip install Zookeeper-Watcher

Example:

from zookeeper_watcher import ZookeeperWatcher

#instantiate the watcher object by passing it the Zookeeper server address and a optional logger.
watcher = ZookeperWatcher('zookeeper_host:port') #can receive also a custom logger by adding logger=some_logger.

#start the async connection with the Zookeeper server
watcher.start()

#decorate a function that will be triggered once at runtime and on every detected event
@watcher.Watch('/zookeeper/path/to/the/node/that/we/want/to/watch')
def test_function(children, data):
  """decorated function that receives a list of children nodes of the given path 
  and a list of data objects (dictionaries) that are read from each child node"""
  print "list of children nodes", children
  print "list of data objects", data

Changelog

0.1.4

  • Fixed some logging bugs.

0.1.3

  • Added custom logging.

0.1.2

  • Fixed some logging errors.

0.1.1

  • Fixed some distribution packaging bug.

0.1.0

  • Initial release.

About

Python package that implements a Watch class which can be used as a decorator to trigger functions when changes are detected on a specified node in Zookeeper.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages