Add new eventlet docs + a few other tweaks to the index.rst

Explain what the new eventlet handler is and how it can be
used (with api docs as well) and links some of the items in
index.rst to targets (and makes the irc link clickable).
This commit is contained in:
Joshua Harlow 2015-02-13 12:32:39 -08:00
parent c57766f3da
commit df067e974c
3 changed files with 31 additions and 8 deletions

View File

@ -0,0 +1,18 @@
.. _eventlet_handler_module:
:mod:`kazoo.handlers.eventlet`
----------------------------
.. automodule:: kazoo.handlers.eventlet
Public API
++++++++++
.. autoclass:: SequentialEventletHandler
:members:
Private API
+++++++++++
.. autoclass:: AsyncResult
:members:

View File

@ -43,11 +43,12 @@ used because its possible that we might never connect and that should be
handled gracefully.
The :class:`~kazoo.handlers.gevent.SequentialGeventHandler` is used when you
want to use gevent. Kazoo doesn't rely on gevents monkey patching and requires
want to use gevent (and
:class:`~kazoo.handlers.eventlet.SequentialEventletHandler` when eventlet is
used). Kazoo doesn't rely on gevents/eventlet monkey patching and requires
that you pass in the appropriate handler, the default handler is
:class:`~kazoo.handlers.threading.SequentialThreadingHandler`.
Asynchronous Callbacks
======================

View File

@ -11,7 +11,8 @@ Kazoo features:
* Data and Children Watchers
* Simplified Zookeeper connection state tracking
* Unified asynchronous API for use with greenlets or threads
* Support for gevent 0.13 and gevent 1.0
* Support for `gevent`_ 0.13 and `gevent`_ 1.0
* Support for `eventlet`_
* Support for Zookeeper 3.3 and 3.4 servers
* Integrated testing helpers for Zookeeper clusters
* Pure-Python based implementation of the wire protocol, avoiding all the
@ -45,12 +46,12 @@ Why
Using :term:`Zookeeper` in a safe manner can be difficult due to the variety of
edge-cases in :term:`Zookeeper` and other bugs that have been present in the
Python C binding. Due to how the C library utilizes a separate C thread for
:term:`Zookeeper` communication some libraries like `gevent`_ also don't work
properly by default.
:term:`Zookeeper` communication some libraries like `gevent`_ (or `eventlet`_)
also don't work properly by default.
By utilizing a pure Python implementation, Kazoo handles all of these
cases and provides a new asynchronous API which is consistent when
using threads or `gevent`_ greenlets.
using threads or `gevent`_ (or `eventlet`_) greenlets.
Source Code
===========
@ -65,7 +66,7 @@ Bugs should be reported on the `kazoo github issue tracker
<https://github.com/python-zk/kazoo/issues>`_.
The developers of ``kazoo`` can frequently be found on the Freenode IRC
network in the #zookeeper channel.
network in the `\#zookeeper`_ channel.
For general discussions and support questions, please use the
`python-zk <https://groups.google.com/forum/#!forum/python-zk>`_ mailing list
@ -94,7 +95,8 @@ Authors
``kazoo`` started under the `Nimbus Project`_ and through collaboration with
the open-source community has been merged with code from `Mozilla`_ and the
`Zope Corporation`_. It has since gathered an active community of over two
dozen contributors.
dozen contributors from a variety of companies (twitter, mozilla, yahoo! and
others).
.. _Apache Zookeeper: http://zookeeper.apache.org/
.. _Zookeeper Programmers Guide: http://zookeeper.apache.org/doc/trunk/zookeeperProgrammers.html
@ -104,3 +106,5 @@ dozen contributors.
.. _Mozilla: http://www.mozilla.org/
.. _Netflix Curator: https://github.com/Netflix/curator
.. _gevent: http://gevent.org/
.. _eventlet: http://eventlet.net/
.. _\#zookeeper: irc://chat.freenode.net/zookeeper