Skip to main content

An extensible driver framework with pooling

Project description

© 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kiddiepool-1.0.2.tar.gz (8.8 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page