Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Python Client Driver Pool

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 kiddiepool
Octocat-spinner-32 tests
Octocat-spinner-32 .gitignore
Octocat-spinner-32 .travis.yml
Octocat-spinner-32 MANIFEST.in
Octocat-spinner-32 README.rst
Octocat-spinner-32 setup.py
README.rst

Kiddie Pool - Python Pooling Driver Framework

© 2013 Urban Airship

https://github.com/urbanairship/kiddiepool

https://secure.travis-ci.org/urbanairship/kiddiepool.png?branch=master

Goals

  • Create a reusable connection pool class that handles failover
  • Allow connection pool to discover service locations via Zookeeper

Creating a New Client

Subclass at least KiddieClient to create the public API for your client driver. Should call KiddieClient._sendall(<str>) to send data.

Using the Pool

Using a static pool

  1. Create a list of "<host>:<port>" strings to target for connections.
  2. Instantiate a KiddiePool with that list of strings.
  3. Pass the KiddiePool instance to your KiddieClient subclass for use.
  4. Use your client's API and it will use the pool automatically.

Using a dynamic pool

  1. Instantiate a TidePool with the Zookeeper quorum and znode whose children to monitor.
  2. Use a context manager with TidePool() as pool: or the start() and stop() methods to manage the connection to Zookeeper.
  3. Use the dynamic pool exactly like the static pool. Candidates will be added/removed from the pool by a background thread.
Something went wrong with that request. Please try again.