Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Fetching latest commit…
Cannot retrieve the latest commit at this time.
|Failed to load latest commit information.|
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.