Skip to content
Ruby wrapper for the ZooKeeper C client library
C Ruby
Latest commit 6573bd9 Jul 3, 2010 Evan Weaver fix README
Failed to load latest commit information.
examples Added CloudConfig example. Jun 14, 2010
ext Fix bug introduced from last merge. Jun 14, 2010
lib Initial commit. Jun 14, 2010
test Initial commit. Jun 14, 2010
.gitignore Initial commit. Jun 14, 2010
CHANGELOG Merge branch 'wickman' Jul 3, 2010
LICENSE Initial commit. Jun 14, 2010
Manifest Merge branch 'wickman' Jul 3, 2010
README fix README Jul 3, 2010
Rakefile Initial commit. Jun 14, 2010

README

zookeeper

An interface to the Zookeeper distributed configuration server.

== License

Copyright 2008 Phillip Pearson, and 2010 Twitter, Inc. Licensed under the
MIT License.  See the included LICENSE file.  Portions copyright 2008-2010
the Apache Software Foundation, licensed under the Apache 2 license, and
used with permission.

== Install

sudo gem install zookeeper

== Usage

Connect to a server:

  require 'rubygems'
  require 'zookeeper'
  z = Zookeeper.new("localhost:2181")

Create, set and read nodes:

  z.create("/bacon", "text to be stored in the new node", 0)
  data, stat = z.get("/bacon")
    # => ["text to be stored in the new node"...]
  
  z.set("/bacon", "an entirely different line of text", stat.version)
  z.set("/bacon", "this won't work", stat.version)
    # CZookeeper::BadVersionError: expected version does not match actual version

  data, stat = z.get("/bacon")
    # => ["an entirely different line of text"...]
  z.delete("/bacon", stat.version)

Create ephemeral and sequence nodes:

  z.create("/parent", "parent node", 0)

  z.create("/parent/test-", 
    "an ordered ephemeral node", 
    Zookeeper::EPHEMERAL | Zookeeper::SEQUENCE)
    # => "/parent/test-0"

  z.create("/parent/test-", 
    "an ordered ephemeral node", 
    Zookeeper::EPHEMERAL | Zookeeper::SEQUENCE)
    # => "/parent/test-1"

  z.get_children(:path => "/")

== Idioms

  The following methods are initially supported:
    get
    set
    get_children
    stat
    create
    delete
    get_acl
    set_acl

  All support async callbacks.  get, get_children and stat support both
  watchers and callbacks.

  Calls take a dictionary of parameters.  With the exception of set_acl, the
  only required parameter is :path.  Each call returns a dictionary with at
  minimum two keys :req_id and :rc.

Something went wrong with that request. Please try again.