Update 'make_client' kazoo docs and link to them
Since the creation of a client is somewhat important and knowing what the options that are transfereed to kazoo are we should explicitly document what keys are and what the values should be. Change-Id: I1a5037b274828190270ea5c402be8b2100306de4
This commit is contained in:

committed by
Joshua Harlow

parent
b8d2a5f18e
commit
050a52dfb1
@@ -273,6 +273,16 @@ class ZookeeperJobBoard(base.NotifyingJobBoard):
|
||||
zookeeper when the ephemeral node and associated session is deemed to
|
||||
have been lost).
|
||||
|
||||
Do note that the creation of a kazoo client is achieved
|
||||
by :py:func:`~taskflow.utils.kazoo_utils.make_client` and the transfer
|
||||
of this jobboard configuration to that function to make a
|
||||
client may happen at ``__init__`` time. This implies that certain
|
||||
parameters from this jobboard configuration may be provided to
|
||||
:py:func:`~taskflow.utils.kazoo_utils.make_client` such
|
||||
that if a client was not provided by the caller one will be created
|
||||
according to :py:func:`~taskflow.utils.kazoo_utils.make_client`'s
|
||||
specification
|
||||
|
||||
.. _zookeeper: http://zookeeper.apache.org/
|
||||
.. _json: http://json.org/
|
||||
"""
|
||||
|
@@ -39,6 +39,16 @@ class ZkBackend(path_based.PathBasedBackend):
|
||||
"hosts": "192.168.0.1:2181,192.168.0.2:2181,192.168.0.3:2181",
|
||||
"path": "/taskflow",
|
||||
}
|
||||
|
||||
Do note that the creation of a kazoo client is achieved
|
||||
by :py:func:`~taskflow.utils.kazoo_utils.make_client` and the transfer
|
||||
of this backend configuration to that function to make a
|
||||
client may happen at ``__init__`` time. This implies that certain
|
||||
parameters from this backend configuration may be provided to
|
||||
:py:func:`~taskflow.utils.kazoo_utils.make_client` such
|
||||
that if a client was not provided by the caller one will be created
|
||||
according to :py:func:`~taskflow.utils.kazoo_utils.make_client`'s
|
||||
specification
|
||||
"""
|
||||
|
||||
#: Default path used when none is provided.
|
||||
|
@@ -151,7 +151,43 @@ def check_compatible(client, min_version=None, max_version=None):
|
||||
|
||||
|
||||
def make_client(conf):
|
||||
"""Creates a kazoo client given a configuration dictionary."""
|
||||
"""Creates a `kazoo`_ `client`_ given a configuration dictionary.
|
||||
|
||||
:param conf: configuration dictionary that will be used to configure
|
||||
the created client
|
||||
:type conf: dict
|
||||
|
||||
The keys that will be extracted are:
|
||||
|
||||
- ``read_only``: boolean that specifies whether to allow connections to
|
||||
read only servers, defaults to ``False``
|
||||
- ``randomize_hosts``: boolean that specifies whether to randomize
|
||||
host lists provided, defaults to ``False``
|
||||
- ``command_retry``: a kazoo `retry`_ object (or dict of options which
|
||||
will be used for creating one) that will be used for retrying commands
|
||||
that are executed
|
||||
- ``connection_retry``: a kazoo `retry`_ object (or dict of options which
|
||||
will be used for creating one) that will be used for retrying
|
||||
connection failures that occur
|
||||
- ``hosts``: a string, list, set (or dict with host keys) that will
|
||||
specify the hosts the kazoo client should be connected to, if none
|
||||
is provided then ``localhost:2181`` will be used by default
|
||||
- ``timeout``: a float value that specifies the default timeout that the
|
||||
kazoo client will use
|
||||
- ``handler``: a kazoo handler object that can be used to provide the
|
||||
client with alternate async strategies (the default is `thread`_
|
||||
based, but `gevent`_, or `eventlet`_ ones can be provided as needed)
|
||||
|
||||
.. _client: http://kazoo.readthedocs.org/en/latest/api/client.html
|
||||
.. _kazoo: kazoo.readthedocs.org/
|
||||
.. _retry: http://kazoo.readthedocs.org/en/latest/api/retry.html
|
||||
.. _gevent: http://kazoo.readthedocs.org/en/latest/api/\
|
||||
handlers/gevent.html
|
||||
.. _eventlet: http://kazoo.readthedocs.org/en/latest/api/\
|
||||
handlers/eventlet.html
|
||||
.. _thread: http://kazoo.readthedocs.org/en/latest/api/\
|
||||
handlers/threading.html
|
||||
"""
|
||||
# See: http://kazoo.readthedocs.org/en/latest/api/client.html
|
||||
client_kwargs = {
|
||||
'read_only': bool(conf.get('read_only')),
|
||||
|
Reference in New Issue
Block a user